summaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-05-05 22:55:02 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-05-05 20:55:02 +0000
commit59af0b6aa3a9a1ed4c9d075d3ae747f804733159 (patch)
tree8894b636feef5e7cd06e3aefa02c8ece1b2daa07 /gcc/cgraphunit.c
parent9953b5e1f7490ccb4fd9bf6af8b9ce3a7a735869 (diff)
downloadgcc-59af0b6aa3a9a1ed4c9d075d3ae747f804733159.tar.gz
re PR rtl-optimization/14980 ([unit-at-a-time] complex_io.cc:69: error: Inlined_to pointer is set but no predecesors found--causes ICE)
PR opt/14980 * cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with inline clones. From-SVN: r81540
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