diff options
author | Jan Hubicka <jh@suse.cz> | 2012-05-18 13:44:52 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2012-05-18 11:44:52 +0000 |
commit | 387df8716035d8a7e1f8a1fb74804ee39e16ed3f (patch) | |
tree | df9585f0f8a48e34eed5f8e1df8f0b7924da5802 /gcc | |
parent | f9a21e134266e384f0bb40378621b64994b27daa (diff) | |
download | gcc-387df8716035d8a7e1f8a1fb74804ee39e16ed3f.zip gcc-387df8716035d8a7e1f8a1fb74804ee39e16ed3f.tar.gz gcc-387df8716035d8a7e1f8a1fb74804ee39e16ed3f.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cgraphunit.c | 3 | ||||
-rw-r--r-- | gcc/ipa.c | 1 |
3 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3caf366..57d6fed09 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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> * tree-flow.h (mark_symbols_for_renaming): Remove. diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 97e810e..7dae2c8 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -819,7 +819,7 @@ varpool_finalize_decl (tree decl) { struct varpool_node *node = varpool_node (decl); - gcc_assert (TREE_STATIC (decl)); + gcc_assert (TREE_STATIC (decl) || DECL_EXTERNAL (decl)); if (node->finalized) return; @@ -1156,6 +1156,7 @@ mark_functions_to_output (void) have analyzed node pointing to it. */ && !node->symbol.in_other_partition && !node->alias + && !node->clones && !DECL_EXTERNAL (decl)) { dump_cgraph_node (stderr, node); @@ -915,7 +915,6 @@ function_and_variable_visibility (bool whole_program) symtab_dissolve_same_comdat_group_list ((symtab_node) vnode); vnode->symbol.resolution = LDPR_PREVAILING_DEF_IRONLY; } - gcc_assert (TREE_STATIC (vnode->symbol.decl)); } pointer_set_destroy (aliased_nodes); pointer_set_destroy (aliased_vnodes); |