Commit d2b35c04 by Jan Hubicka Committed by Jan Hubicka

re PR ipa/61548 (FAIL: gcc.dg/tls/alias-1.c)


	PR ipa/61548
	* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
	when removing varpool nodes.

From-SVN: r220433
parent 65a428db
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
PR ipa/61548
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
when removing varpool nodes.
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>
......
......@@ -597,8 +597,20 @@ symbol_table::remove_unreachable_nodes (FILE *file)
or not. */
&& (!flag_ltrans || !DECL_EXTERNAL (vnode->decl)))
{
struct ipa_ref *ref = NULL;
/* First remove the aliases, so varpool::remove can possibly lookup
the constructor and save it for future use. */
while (vnode->iterate_direct_aliases (0, ref))
{
if (file)
fprintf (file, " %s/%i", ref->referred->name (),
ref->referred->order);
ref->referring->remove ();
}
if (file)
fprintf (file, " %s/%i", vnode->name (), vnode->order);
vnext = next_variable (vnode);
vnode->remove ();
changed = true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment