* cgraphunit.c (varpool_finalize_decl): Allow external decls.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 May 2012 11:44:52 +0000 (11:44 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 May 2012 11:44:52 +0000 (11:44 +0000)
(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

gcc/ChangeLog
gcc/cgraphunit.c
gcc/ipa.c

index 3caf366..57d6fed 100644 (file)
@@ -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.
index 97e810e..7dae2c8 100644 (file)
@@ -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);
index cafa7a1..43c2f60 100644 (file)
--- 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);