2013-06-18 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jun 2013 09:56:59 +0000 (09:56 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jun 2013 09:56:59 +0000 (09:56 +0000)
PR lto/57334
* lto-symtab.c (lto_symtab_merge_decls): Process nodes properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200165 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lto-symtab.c

index f356c4d..b1a4641 100644 (file)
@@ -1,3 +1,8 @@
+2013-06-18  Richard Biener  <rguenther@suse.de>
+
+       PR lto/57334
+       * lto-symtab.c (lto_symtab_merge_decls): Process nodes properly.
+
 2013-06-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        PR target/57609
index 6c980f8..1b447cf 100644 (file)
@@ -522,19 +522,9 @@ lto_symtab_merge_decls (void)
   symtab_initialize_asm_name_hash ();
 
   FOR_EACH_SYMBOL (node)
-    if (lto_symtab_symbol_p (node)
+    if (!node->symbol.previous_sharing_asm_name
        && node->symbol.next_sharing_asm_name)
-      {
-        symtab_node n;
-
-       /* To avoid duplicated work, see if this is first real symbol in the
-          chain.  */
-       for (n = node->symbol.previous_sharing_asm_name;
-            n && !lto_symtab_symbol_p (n); n = n->symbol.previous_sharing_asm_name)
-         ;
-       if (!n)
-          lto_symtab_merge_decls_1 (node);
-      }
+      lto_symtab_merge_decls_1 (node);
 }
 
 /* Helper to process the decl chain for the symbol table entry *SLOT.  */