aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-18 11:44:52 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-18 11:44:52 +0000
commit2d4bf241b00a817a194cf12178fdc3f19783b079 (patch)
treedf9585f0f8a48e34eed5f8e1df8f0b7924da5802 /gcc
parenta7745367d3fae031e5d73b488baaffcbdc562833 (diff)
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187651 138bc75d-0d04-0410-961f-82ee72b054a4
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 3caf3661a6b..57d6fed0918 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 97e810e5f2a..7dae2c8e820 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 cafa7a11f2a..43c2f60fa2a 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);