diff options
author | Jan Hubicka <jh@suse.cz> | 2003-09-07 00:47:19 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-09-06 22:47:19 +0000 |
commit | ba245151fca2c6a5af41378f56952250a1d7672e (patch) | |
tree | d978aa32ef0b5a79b89c076b7716cd14ffd50a86 /gcc/cgraph.c | |
parent | 7e668417e948ec56c7ecacdde8651eab9effb4f2 (diff) | |
download | gcc-ba245151fca2c6a5af41378f56952250a1d7672e.zip gcc-ba245151fca2c6a5af41378f56952250a1d7672e.tar.gz gcc-ba245151fca2c6a5af41378f56952250a1d7672e.tar.bz2 |
cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized functions.
* cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
functions.
(cgraph_varpool_finalize_decl): Notice global symbol when needed.
From-SVN: r71149
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 8b4c0cc..4eaa60e 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; |