summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cgraph.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 610bbb0a81d..2f265b79629 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -3,6 +3,10 @@ Sun Sep 7 00:22:22 CEST 2003 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_decl_compilation): Do not finalize external
virables.
+ * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
+ functions.
+ (cgraph_varpool_finalize_decl): Notice global symbol when needed.
+
Sat Sep 6 23:49:13 CEST 2003 Jan Hubicka <jh@suse.cz>
PR target/12070
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