------- Comment #2 from ebotcazou at gcc dot gnu dot org 2007-09-20 20:45 ------- > A reghunt revealed that this was caused by the following patch: > > 2007-03-02 Eric Botcazou <[EMAIL PROTECTED]> > > * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the > entry by means of emit_insn_at_entry.
Right. Interestingly enough, this is purely a checking failure, i.e. the IL is correct at the end of the pass. What happens is that in if (USING_SJLJ_EXCEPTIONS) sjlj_build_landing_pads (); else dw2_build_landing_pads (); cfun->eh->built_landing_pads = 1; /* We've totally changed the CFG. Start over. */ find_exception_handler_labels (); break_superblocks (); if (USING_SJLJ_EXCEPTIONS) commit_edge_insertions (); dw2_build_landing_pads will trigger a CFG verification, which of course is not the right thing to do given the comment in the code. The solution is the original patch I posted: http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01448.html which was OKed by RTH: http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01162.html so I'm going to apply it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325