http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46233
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-11-03 16:43:51 UTC --- The problem here is that we do first noreturn discovery, then call analyze_function which calls loop_optimizer_finalize which then for --enable-checking calls verify_flow_info which ICEs, because noreturn calls to self have not been fixed up. To fix this, either we could (if possible) move the noreturn discovery right after the l = analyze_function call (my preference), or if that is not possible and callgraph states that the function can call itself call execute_fixup_cfg right after making it noreturn, or somehow make sure verify_flow_info is not called from loop_optimizer_finalize in this case (i.e. is postponed until we execute_fixup_cfg later on in local pure const discovery). Honza?