summaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 156c924bca1..e9402dbfb6e 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -889,7 +889,8 @@ cgraph_remove_unreachable_nodes (void)
abort ();
#endif
for (node = cgraph_nodes; node; node = node->next)
- if (node->needed && (!DECL_EXTERNAL (node->decl) || !node->analyzed))
+ if (node->needed && !node->global.inlined_to
+ && (!DECL_EXTERNAL (node->decl) || !node->analyzed))
{
node->aux = first;
first = node;
@@ -932,6 +933,7 @@ cgraph_remove_unreachable_nodes (void)
int local_insns;
tree decl = node->decl;
+ node->global.inlined_to = NULL;
if (DECL_STRUCT_FUNCTION (decl))
local_insns = node->local.self_insns;
else