locals are not linkage merge
authorMatthias Braun <matze@braunis.de>
Fri, 12 Feb 2010 22:48:00 +0000 (22:48 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 12 Feb 2010 22:48:00 +0000 (22:48 +0000)
[r27140]

ast2firm.c

index f961a83..2fbe089 100644 (file)
@@ -4549,12 +4549,7 @@ static void create_global_variable(entity_t *entity)
 
        switch ((storage_class_tag_t)entity->declaration.storage_class) {
        case STORAGE_CLASS_EXTERN: visibility = ir_visibility_external; break;
-       case STORAGE_CLASS_STATIC:
-               visibility = ir_visibility_local;
-               /* uninitialized globals get merged in C */
-               if (entity->variable.initializer == NULL)
-                       linkage |= IR_LINKAGE_MERGE;
-               break;
+       case STORAGE_CLASS_STATIC: visibility = ir_visibility_local;    break;
        case STORAGE_CLASS_NONE:
                visibility = ir_visibility_default;
                /* uninitialized globals get merged in C */