aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-02-05 04:57:32 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-02-05 03:57:32 +0000
commit65a428db25019da409ab3ee919a3bb9d7c9257e6 (patch)
tree530b146e8e8b099542a170e267995252932d96a6
parent5fe4d3073b5352e7e4954338d0a6042cff359ff4 (diff)
downloadgcc-65a428db25019da409ab3ee919a3bb9d7c9257e6.zip
gcc-65a428db25019da409ab3ee919a3bb9d7c9257e6.tar.gz
gcc-65a428db25019da409ab3ee919a3bb9d7c9257e6.tar.bz2
re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)
PR ipa/61548 * varpool.c (varpool_node::remove): Fix order of variables. From-SVN: r220432
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/varpool.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fa6a7e8..6c19064 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
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
* ipa-inline.c (inline_small_functions): Fix ordering issue between
speculation resolution and key updates.
diff --git a/gcc/varpool.c b/gcc/varpool.c
index 3bd6eb4..49a9213 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -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);
}