aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-05-18 13:44:52 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2012-05-18 11:44:52 +0000
commit387df8716035d8a7e1f8a1fb74804ee39e16ed3f (patch)
treedf9585f0f8a48e34eed5f8e1df8f0b7924da5802 /gcc
parentf9a21e134266e384f0bb40378621b64994b27daa (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/cgraphunit.c3
-rw-r--r--gcc/ipa.c1
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);
diff --git a/gcc/ipa.c b/gcc/ipa.c
index cafa7a1..43c2f60 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -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);