From: Jan Hubicka Date: Sat, 6 Sep 2003 22:47:19 +0000 (+0200) Subject: cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized functions. X-Git-Tag: releases/gcc-3.4.0~3857 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ba245151fca2c6a5af41378f56952250a1d7672e;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 610bbb0a81d1..2f265b796290 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,10 @@ Sun Sep 7 00:22:22 CEST 2003 Jan Hubicka * 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 PR target/12070 diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 8b4c0ccf13d3..4eaa60e8e76c 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;