diff options
author | Richard Henderson <rth@redhat.com> | 2003-04-22 16:17:46 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-04-22 16:17:46 -0700 |
commit | 4da2eb6b9026e71f167204bc7ced622f44c70a1e (patch) | |
tree | 61fac5e9044077ae9018c6ffa6b7ab8c07fde408 /gcc/rtlanal.c | |
parent | c1238896d34055a41d31f4e5b6a9678759eb8500 (diff) | |
download | gcc-4da2eb6b9026e71f167204bc7ced622f44c70a1e.tar.gz |
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
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r-- | gcc/rtlanal.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index b0c76cc851d..1972375313d 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -2462,6 +2462,8 @@ may_trap_p (x) /* Memory ref can trap unless it's a static var or a stack slot. */ case MEM: + if (MEM_NOTRAP_P (x)) + return 0; return rtx_addr_can_trap_p (XEXP (x, 0)); /* Division by a non-constant might trap. */ |