aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-02-05 05:45:41 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-02-05 04:45:41 +0000
commita0cbab4acd8f7af1ece6d94e61d5c754246c5efa (patch)
tree45e24b0bbfb243dee7ae97aadda41e111b8d7174 /gcc
parentd2b35c0464fc5b071f8bbf77079bce6a9170f15c (diff)
downloadgcc-a0cbab4acd8f7af1ece6d94e61d5c754246c5efa.zip
gcc-a0cbab4acd8f7af1ece6d94e61d5c754246c5efa.tar.gz
gcc-a0cbab4acd8f7af1ece6d94e61d5c754246c5efa.tar.bz2
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
PR ipa/61548 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. Co-Authored-By: Trevor Saunders <tsaunders@mozilla.com> From-SVN: r220434
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-emutls.c11
2 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 29049bd..c293971 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,10 @@
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
+ Trevor Saunders <tsaunders@mozilla.com>
+
+ PR ipa/61548
+ * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
+
+2015-02-04 Jan Hubicka <hubicka@ucw.cz>
PR ipa/61548
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
diff --git a/gcc/tree-emutls.c b/gcc/tree-emutls.c
index da03b2a..68b2aae 100644
--- a/gcc/tree-emutls.c
+++ b/gcc/tree-emutls.c
@@ -366,9 +366,14 @@ new_emutls_decl (tree decl, tree alias_of)
else if (!alias_of)
varpool_node::add (to);
else
- varpool_node::create_alias (to,
- varpool_node::get_for_asmname
- (DECL_ASSEMBLER_NAME (DECL_VALUE_EXPR (alias_of)))->decl);
+ {
+ varpool_node *n;
+ varpool_node *t = varpool_node::get_for_asmname
+ (DECL_ASSEMBLER_NAME (DECL_VALUE_EXPR (alias_of)));
+
+ n = varpool_node::create_alias (to, t->decl);
+ n->resolve_alias (t);
+ }
return to;
}