diff options
author | Jan Hubicka <jh@suse.cz> | 2004-05-05 22:55:02 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-05-05 20:55:02 +0000 |
commit | 59af0b6aa3a9a1ed4c9d075d3ae747f804733159 (patch) | |
tree | 8894b636feef5e7cd06e3aefa02c8ece1b2daa07 /gcc/cgraphunit.c | |
parent | 9953b5e1f7490ccb4fd9bf6af8b9ce3a7a735869 (diff) | |
download | gcc-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.c | 4 |
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 |