This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix lto decl merging of thunks
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 31 May 2011 16:16:38 +0200
- Subject: Fix lto decl merging of thunks
Hi,
while updating thunks to not be same body alises I missed this spot that merges
alias decl.
Bootstrapped/regtested x86_64-linux, comitted.
2011-05-31 Jan Hubicka <jh@suse.cz>
* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
of thunks.
Index: lto-symtab.c
===================================================================
--- lto-symtab.c (revision 174393)
+++ lto-symtab.c (working copy)
@@ -821,11 +821,15 @@ lto_symtab_merge_cgraph_nodes (void)
htab_traverse (lto_symtab_identifiers, lto_symtab_merge_cgraph_nodes_1, NULL);
for (node = cgraph_nodes; node; node = node->next)
- for (alias = node->same_body; alias; alias = next)
- {
- next = alias->next;
- alias->thunk.alias = lto_symtab_prevailing_decl (alias->thunk.alias);
- }
+ {
+ if (node->thunk.thunk_p)
+ node->thunk.alias = lto_symtab_prevailing_decl (node->thunk.alias);
+ for (alias = node->same_body; alias; alias = next)
+ {
+ next = alias->next;
+ alias->thunk.alias = lto_symtab_prevailing_decl (alias->thunk.alias);
+ }
+ }
}
/* Given the decl DECL, return the prevailing decl with the same name. */