http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57334
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2013-06-17 Assignee|unassigned at gcc dot gnu.org |hubicka at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> --- I am testing Index: lto-symtab.c =================================================================== --- lto-symtab.c (revision 200151) +++ lto-symtab.c (working copy) @@ -523,7 +523,8 @@ lto_symtab_merge_decls (void) FOR_EACH_SYMBOL (node) if (lto_symtab_symbol_p (node) - && node->symbol.next_sharing_asm_name) + && (node->symbol.next_sharing_asm_name + || node->symbol.previous_sharing_asm_name)) { symtab_node n; @@ -639,6 +640,7 @@ lto_symtab_prevailing_decl (tree decl) ret = symtab_node_for_asm (DECL_ASSEMBLER_NAME (decl)); if (!ret) return decl; + gcc_checking_assert (TREE_PUBLIC (ret->symbol.decl) && !DECL_EXTERNAL (ret->symbol.decl)); return ret->symbol.decl; }