diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-06 22:47:19 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-06 22:47:19 +0000 |
commit | b98c6a578ea87ecbba098f9f342d2aaab3f7fe6f (patch) | |
tree | d978aa32ef0b5a79b89c076b7716cd14ffd50a86 /gcc/cgraph.c | |
parent | c0c4adc61b1b611f2cb7933a65769ae2e203d025 (diff) | |
download | ppe42-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.c | 5 |
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; |