re PR lto/57334 (ICE: in input_gimple_stmt, at gimple-streamer-in.c:287)
authorRichard Biener <rguenther@suse.de>
Tue, 18 Jun 2013 09:56:59 +0000 (09:56 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 18 Jun 2013 09:56:59 +0000 (09:56 +0000)
2013-06-18  Richard Biener  <rguenther@suse.de>

PR lto/57334
* lto-symtab.c (lto_symtab_merge_decls): Process nodes properly.

From-SVN: r200165

gcc/ChangeLog
gcc/lto-symtab.c

index f356c4d75deb338cedcd842711ac5336e2c4b3e2..b1a464176a6ffeda37973567cfbcc0b40f9ffe90 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 6c980f89f2d6170423006233d84181f6b5ef8082..1b447cfb9aeb2a326bc09737d0b6c78e713aee26 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.  */