diff mbox

Fix lto decl merging of thunks

Message ID 20110531141638.GC23394@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka May 31, 2011, 2:16 p.m. UTC
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.
diff mbox

Patch

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. */