From a61bf177203a3fa7609b4835edebb5d37d29bb9e Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sun, 7 Mar 2004 23:29:28 +0100 Subject: [PATCH] * except.c (emit_to_new_bb_before): Break fallthru edges. From-SVN: r79071 --- gcc/ChangeLog | 4 ++++ gcc/except.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dc730edff7c..8c89c331e36 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-03-07 Jan Hubicka + + * except.c (emit_to_new_bb_before): Break fallthru edges. + 2004-03-07 Stephane Carrez * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12. diff --git a/gcc/except.c b/gcc/except.c index d290a60ea5b..0084af145b8 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -1637,7 +1637,14 @@ emit_to_new_bb_before (rtx seq, rtx insn) { rtx last; basic_block bb; + edge e; + /* If there happens to be an fallthru edge (possibly created by cleanup_cfg + call), we don't want it to go into newly created landing pad or other EH + construct. */ + for (e = BLOCK_FOR_INSN (insn)->pred; e; e = e->pred_next) + if (e->flags & EDGE_FALLTHRU) + force_nonfallthru (e); last = emit_insn_before (seq, insn); if (GET_CODE (last) == BARRIER) last = PREV_INSN (last); -- 2.30.2