re PR other/49533 (Revision 174989 (ipa-inline-transform.c) regressions)
authorJan Hubicka <jh@suse.cz>
Tue, 13 Sep 2011 14:28:39 +0000 (16:28 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 13 Sep 2011 14:28:39 +0000 (14:28 +0000)
PR other/49533
* cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.

From-SVN: r178810

gcc/ChangeLog
gcc/cgraphunit.c

index dd06c64c39bf0100cc9d15e5a891d0bb0a20c962..33278d880ae3ef7e4befc53db61cd86566cd4bd6 100644 (file)
@@ -1,6 +1,11 @@
 2011-09-13  Jan Hubicka  <jh@suse.cz>
 
-       other/49533
+       PR other/49533
+       * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.
+
+2011-09-13  Jan Hubicka  <jh@suse.cz>
+
+       PR other/49533
        * ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
 
 2011-09-13  Paul Brook  <paul@codesourcery.com>
index 829bcc72bc05b58100d4f5620e5e78fab634a3e8..2dedcc5c31a27b7dc53383472ac039f8ecc39e83 100644 (file)
@@ -1772,9 +1772,15 @@ assemble_thunks_and_aliases (struct cgraph_node *node)
     if (ref->use == IPA_REF_ALIAS)
       {
        struct cgraph_node *alias = ipa_ref_refering_node (ref);
+        bool saved_written = TREE_ASM_WRITTEN (alias->thunk.alias);
+
+       /* Force assemble_alias to really output the alias this time instead
+          of buffering it in same alias pairs.  */
+       TREE_ASM_WRITTEN (alias->thunk.alias) = 1;
        assemble_alias (alias->decl,
                        DECL_ASSEMBLER_NAME (alias->thunk.alias));
        assemble_thunks_and_aliases (alias);
+       TREE_ASM_WRITTEN (alias->thunk.alias) = saved_written;
       }
 }