diff options
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c index 2dfd073..5e9ce33 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -3145,6 +3145,11 @@ can_throw_internal (rtx insn) return false; } + if (GET_CODE (insn) == JUMP_INSN + && GET_CODE (PATTERN (insn)) == RESX + && XINT (PATTERN (insn), 0) > 0) + return can_throw_internal_1 (XINT (PATTERN (insn), 0)); + /* Every insn that might throw has an EH_REGION note. */ note = find_reg_note (insn, REG_EH_REGION, NULL_RTX); if (!note || INTVAL (XEXP (note, 0)) <= 0) |