From f1f488f7a68191cc93e38fc1ea4360bd34da1c7b Mon Sep 17 00:00:00 2001 From: hubicka Date: Thu, 5 Feb 2015 04:45:41 +0000 Subject: [PATCH] PR ipa/61548 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220434 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/tree-emutls.c | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 29049bd5741..c293971f537 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ 2015-02-04 Jan Hubicka + Trevor Saunders + + PR ipa/61548 + * tree-emultls.c (new_emutls_decl): Resolve alias after creating it. + +2015-02-04 Jan Hubicka 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 da03b2a0fca..68b2aae5e70 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; } -- 2.11.4.GIT