aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-06-18 09:56:59 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-06-18 09:56:59 +0000
commit8951f345a49affa7d682b6f7db885f74709602c7 (patch)
tree74dfb4a44aa21b38e43014bdab74373baa6d47ca /gcc
parentd8101d05d3383b8aabd979983dacd6c78e2f2f5d (diff)
downloadgcc-8951f345a49affa7d682b6f7db885f74709602c7.zip
gcc-8951f345a49affa7d682b6f7db885f74709602c7.tar.gz
gcc-8951f345a49affa7d682b6f7db885f74709602c7.tar.bz2
re PR lto/57334 (ICE: in input_gimple_stmt, at gimple-streamer-in.c:287)
2013-06-18 Richard Biener <rguenther@suse.de> PR lto/57334 * lto-symtab.c (lto_symtab_merge_decls): Process nodes properly. From-SVN: r200165
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/lto-symtab.c14
2 files changed, 7 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f356c4d..b1a4641 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c
index 6c980f8..1b447cf 100644
--- a/gcc/lto-symtab.c
+++ b/gcc/lto-symtab.c
@@ -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. */