This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]