From 4da2eb6b9026e71f167204bc7ced622f44c70a1e Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 22 Apr 2003 16:17:46 -0700 Subject: re PR middle-end/8866 (Bug in switch statement code generation -- missing label) PR 8866 * rtl.h (MEM_NOTRAP_P): New. (MEM_COPY_ATTRIBUTES): Copy it. * rtlanal.c (may_trap_p): Check it. * expr.c (do_tablejump): Set it. * doc/rtl.texi (Flags): Document it. * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes. From-SVN: r65967 --- gcc/expr.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/expr.c') diff --git a/gcc/expr.c b/gcc/expr.c index f87f9c9..9176c30 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -10272,6 +10272,7 @@ do_tablejump (index, mode, range, table_label, default_label) temp = gen_reg_rtx (CASE_VECTOR_MODE); vector = gen_rtx_MEM (CASE_VECTOR_MODE, index); RTX_UNCHANGING_P (vector) = 1; + MEM_NOTRAP_P (vector) = 1; convert_move (temp, vector, 0); emit_jump_insn (gen_tablejump (temp, table_label)); -- cgit v1.1