Commit 387df871 by Jan Hubicka Committed by Jan Hubicka

cgraphunit.c (varpool_finalize_decl): Allow external decls.


	* cgraphunit.c (varpool_finalize_decl): Allow external decls.
	(mark_functions_to_output): Fix sanity check.
	* ipa.c (function_and_variable_visibility): Remove TREE_STATIC
	check.

From-SVN: r187651
parent f9a21e13
2012-05-18 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (varpool_finalize_decl): Allow external decls.
(mark_functions_to_output): Fix sanity check.
* ipa.c (function_and_variable_visibility): Remove TREE_STATIC
check.
2012-05-18 Richard Guenther <rguenther@suse.de> 2012-05-18 Richard Guenther <rguenther@suse.de>
* tree-flow.h (mark_symbols_for_renaming): Remove. * tree-flow.h (mark_symbols_for_renaming): Remove.
......
...@@ -819,7 +819,7 @@ varpool_finalize_decl (tree decl) ...@@ -819,7 +819,7 @@ varpool_finalize_decl (tree decl)
{ {
struct varpool_node *node = varpool_node (decl); struct varpool_node *node = varpool_node (decl);
gcc_assert (TREE_STATIC (decl)); gcc_assert (TREE_STATIC (decl) || DECL_EXTERNAL (decl));
if (node->finalized) if (node->finalized)
return; return;
...@@ -1156,6 +1156,7 @@ mark_functions_to_output (void) ...@@ -1156,6 +1156,7 @@ mark_functions_to_output (void)
have analyzed node pointing to it. */ have analyzed node pointing to it. */
&& !node->symbol.in_other_partition && !node->symbol.in_other_partition
&& !node->alias && !node->alias
&& !node->clones
&& !DECL_EXTERNAL (decl)) && !DECL_EXTERNAL (decl))
{ {
dump_cgraph_node (stderr, node); dump_cgraph_node (stderr, node);
......
...@@ -915,7 +915,6 @@ function_and_variable_visibility (bool whole_program) ...@@ -915,7 +915,6 @@ function_and_variable_visibility (bool whole_program)
symtab_dissolve_same_comdat_group_list ((symtab_node) vnode); symtab_dissolve_same_comdat_group_list ((symtab_node) vnode);
vnode->symbol.resolution = LDPR_PREVAILING_DEF_IRONLY; vnode->symbol.resolution = LDPR_PREVAILING_DEF_IRONLY;
} }
gcc_assert (TREE_STATIC (vnode->symbol.decl));
} }
pointer_set_destroy (aliased_nodes); pointer_set_destroy (aliased_nodes);
pointer_set_destroy (aliased_vnodes); pointer_set_destroy (aliased_vnodes);
......
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