aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-09-13 16:28:39 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2011-09-13 14:28:39 +0000
commit42f833bc5f567f1e4da1964ebbd177a5a1c697a1 (patch)
treec2fe857896547b181d436cf0ee496993ec3cc1c3 /gcc
parentaa74f0812b00fac091d17deceec9e464bb48268a (diff)
downloadgcc-42f833bc5f567f1e4da1964ebbd177a5a1c697a1.zip
gcc-42f833bc5f567f1e4da1964ebbd177a5a1c697a1.tar.gz
gcc-42f833bc5f567f1e4da1964ebbd177a5a1c697a1.tar.bz2
re PR other/49533 (Revision 174989 (ipa-inline-transform.c) regressions)
PR other/49533 * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output. From-SVN: r178810
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/cgraphunit.c6
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dd06c64..33278d8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 829bcc7..2dedcc5 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -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;
}
}