diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-10 00:31:19 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-10 00:31:19 +0000 |
commit | 443089c1691fc1d5e3b004bc008a4b69589aad97 (patch) | |
tree | 76467d044aa99677800c5aeb965fa174159b9549 /gcc/cgraphunit.c | |
parent | 72df47e9657414808d080d2e73dde6c005e53fd9 (diff) |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174877 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 614b7858a3f..1e3aa0ddf19 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; } |