https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85638
--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- Another (checking) assertion triggers in fix_up_crossing_landing_pad: rtx_insn *insn = BB_END (e->src); rtx note = find_reg_note (insn, REG_EH_REGION, NULL_RTX); gcc_assert (note != NULL); gcc_checking_assert (INTVAL (XEXP (note, 0)) == old_lp->index); Since 2 elements of cfun->eh->lp_array can share the same landing pad, you can have a different REG_EH_REGION note on one of the edges. I wonder why this doesn't seem to happen with DWARF-2 exception handling.