]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
authorJan Hubicka <hubicka@ucw.cz>
Thu, 5 Feb 2015 04:45:41 +0000 (05:45 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 5 Feb 2015 04:45:41 +0000 (04:45 +0000)
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

gcc/ChangeLog
gcc/tree-emutls.c

index 29049bd574119242b4b06002993ffb1a9d71bf81..c293971f53791c48b98b96ebdf8027cc093973c8 100644 (file)
@@ -1,3 +1,9 @@
+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
index da03b2a0fca5221a28971e770aae3407c4f91eed..68b2aae5e702001d4a1d62e7dd913237c3aec387 100644 (file)
@@ -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;
 }