diff options
author | Richard Biener <rguenther@suse.de> | 2013-06-18 09:56:59 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-06-18 09:56:59 +0000 |
commit | 8951f345a49affa7d682b6f7db885f74709602c7 (patch) | |
tree | 74dfb4a44aa21b38e43014bdab74373baa6d47ca | |
parent | d8101d05d3383b8aabd979983dacd6c78e2f2f5d (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto-symtab.c | 14 |
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. */ |