From b125ad45dab0e830d5e1a6aacfddc29fd17e37dc Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 10 Jun 2011 02:31:19 +0200 Subject: cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline; do not recompute reachable flag. * cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline; do not recompute reachable flag. (cgraph_finalize_function, cgraph_analyze_functions): Set redefined_extern_inline here. From-SVN: r174877 --- gcc/cgraphunit.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'gcc/cgraphunit.c') diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 614b785..1e3aa0d 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -306,24 +306,9 @@ cgraph_reset_node (struct cgraph_node *node) memset (&node->global, 0, sizeof (node->global)); memset (&node->rtl, 0, sizeof (node->rtl)); node->analyzed = false; - node->local.redefined_extern_inline = true; node->local.finalized = false; cgraph_node_remove_callees (node); - - /* We may need to re-queue the node for assembling in case - we already proceeded it and ignored as not needed or got - a re-declaration in IMA mode. */ - if (node->reachable) - { - struct cgraph_node *n; - - for (n = cgraph_nodes_queue; n; n = n->next_needed) - if (n == node) - break; - if (!n) - node->reachable = 0; - } } static void @@ -351,7 +336,10 @@ cgraph_finalize_function (tree decl, bool nested) struct cgraph_node *node = cgraph_get_create_node (decl); if (node->local.finalized) - cgraph_reset_node (node); + { + cgraph_reset_node (node); + node->local.redefined_extern_inline = true; + } notice_global_symbol (decl); node->local.finalized = true; @@ -994,6 +982,7 @@ cgraph_analyze_functions (void) && !node->thunk.thunk_p) { cgraph_reset_node (node); + node->local.redefined_extern_inline = true; continue; } -- cgit v1.1