cgraphunit.c (cgraph_function_and_variable_visibility): Set visibility flags correctl...
authorJan Hubicka <jh@suse.cz>
Wed, 27 Jul 2005 06:45:28 +0000 (08:45 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 27 Jul 2005 06:45:28 +0000 (06:45 +0000)
* cgraphunit.c (cgraph_function_and_variable_visibility): Set
visibility flags correctly in whole program mode.

From-SVN: r102415

gcc/ChangeLog
gcc/cgraphunit.c

index 06b638d6719b069e97df0bdfd7ac596704dda347..8ab2a1a1f5d37cdefddfbccce69557b954e32e64 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_function_and_variable_visibility): Set
+       visibility flags correctly in whole program mode.
+
 2005-07-26  Steve Ellcey  <sje@cup.hp.com>
 
        PR rtl-optimization/22472
index 6ab04d4d850b78c3e79d780259384b095c12b716..7b126cc6f89486c437f858b2b527d93867f95d7c 100644 (file)
@@ -1123,7 +1123,8 @@ cgraph_function_and_variable_visibility (void)
     {
       if (node->reachable
          && (DECL_COMDAT (node->decl)
-             || (TREE_PUBLIC (node->decl) && !DECL_EXTERNAL (node->decl))))
+             || (!flag_whole_program
+                 && TREE_PUBLIC (node->decl) && !DECL_EXTERNAL (node->decl))))
        node->local.externally_visible = true;
       if (!node->local.externally_visible && node->analyzed
          && !DECL_EXTERNAL (node->decl))
@@ -1139,6 +1140,7 @@ cgraph_function_and_variable_visibility (void)
   for (vnode = cgraph_varpool_nodes_queue; vnode; vnode = vnode->next_needed)
     {
       if (vnode->needed
+         && !flag_whole_program
          && (DECL_COMDAT (vnode->decl) || TREE_PUBLIC (vnode->decl)))
        vnode->externally_visible = 1;
       if (!vnode->externally_visible)