toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool nodes

* toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
	nodes

From-SVN: r160056
This commit is contained in:
Jan Hubicka 2010-05-30 17:39:37 +02:00 committed by Jan Hubicka
parent fbd767b1b5
commit babf1701b1
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2010-05-30 Jan Hubicka <jh@suse.cz>
* toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
nodes
2010-05-30 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (verify_gimple_assign_single): Implement

View File

@ -772,17 +772,19 @@ wrapup_global_declaration_2 (tree decl)
{
struct varpool_node *node;
bool needed = true;
node = varpool_node (decl);
node = varpool_get_node (decl);
if (node->finalized)
if (!node && flag_ltrans)
needed = false;
else if (node->alias)
else if (node && node->finalized)
needed = false;
else if (node && node->alias)
needed = false;
else if (!cgraph_global_info_ready
&& (TREE_USED (decl)
|| TREE_USED (DECL_ASSEMBLER_NAME (decl))))
/* needed */;
else if (node->needed)
else if (node && node->needed)
/* needed */;
else if (DECL_COMDAT (decl))
needed = false;