re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
authorJan Hubicka <hubicka@ucw.cz>
Thu, 5 Feb 2015 03:57:32 +0000 (04:57 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 5 Feb 2015 03:57:32 +0000 (03:57 +0000)
PR ipa/61548
* varpool.c (varpool_node::remove): Fix order of variables.

From-SVN: r220432

gcc/ChangeLog
gcc/varpool.c

index fa6a7e826ecd2895206fb33611ef990cdb1f2c33..6c19064957de42ded707e4f3e86312ad5eb48e48 100644 (file)
@@ -1,3 +1,8 @@
+2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/61548
+       * varpool.c (varpool_node::remove): Fix order of variables.
+
 2015-02-04  Jan Hubicka  <hubicka@ucw.cz>
 
        PR ipa/64686
index 3bd6eb41b7a679ecf4e793b383039a3bd659e91d..49a921331daaa334be016c02d7be5feff2cce943 100644 (file)
@@ -195,7 +195,6 @@ void
 varpool_node::remove (void)
 {
   symtab->call_varpool_removal_hooks (this);
-  unregister ();
 
   /* When streaming we can have multiple nodes associated with decl.  */
   if (symtab->state == LTO_STREAMING)
@@ -205,6 +204,8 @@ varpool_node::remove (void)
   else if (DECL_INITIAL (decl) && DECL_INITIAL (decl) != error_mark_node
           && !ctor_useable_for_folding_p ())
     remove_initializer ();
+
+  unregister ();
   ggc_free (this);
 }