summaryrefslogtreecommitdiffstats
path: root/gcc/cgraph.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-06 22:47:19 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-06 22:47:19 +0000
commitb98c6a578ea87ecbba098f9f342d2aaab3f7fe6f (patch)
treed978aa32ef0b5a79b89c076b7716cd14ffd50a86 /gcc/cgraph.c
parentc0c4adc61b1b611f2cb7933a65769ae2e203d025 (diff)
downloadppe42-gcc-b98c6a578ea87ecbba098f9f342d2aaab3f7fe6f.tar.gz
ppe42-gcc-b98c6a578ea87ecbba098f9f342d2aaab3f7fe6f.zip
* cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
functions. (cgraph_varpool_finalize_decl): Notice global symbol when needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71149 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r--gcc/cgraph.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 8b4c0ccf13d..4eaa60e8e76 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -239,13 +239,13 @@ cgraph_remove_node (struct cgraph_node *node)
void
cgraph_mark_reachable_node (struct cgraph_node *node)
{
- if (!node->reachable && DECL_SAVED_TREE (node->decl))
+ if (!node->reachable && node->local.finalized)
{
+ notice_global_symbol (node->decl);
node->reachable = 1;
node->next_needed = cgraph_nodes_queue;
cgraph_nodes_queue = node;
- notice_global_symbol (node->decl);
/* At the moment frontend automatically emits all nested functions. */
if (node->nested)
@@ -486,6 +486,7 @@ cgraph_varpool_finalize_decl (tree decl)
{
node->next_needed = cgraph_varpool_nodes_queue;
cgraph_varpool_nodes_queue = node;
+ notice_global_symbol (decl);
}
node->finalized = true;
OpenPOWER on IntegriCloud