aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-08 21:58:44 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-08 21:58:44 -0700
commit22aa60a1e048324c32edbd7283804df4eff68883 (patch)
tree1d383adc4db59b1257e164d3c6d0d91b1d751e1d
parent4c6a897328a8f500dba1470273bd657791ee47c6 (diff)
downloadgcc-22aa60a1e048324c32edbd7283804df4eff68883.zip
gcc-22aa60a1e048324c32edbd7283804df4eff68883.tar.gz
gcc-22aa60a1e048324c32edbd7283804df4eff68883.tar.bz2
rtlanal.c (may_trap_p): Consider old-style and volatile asms to trap.
* rtlanal.c (may_trap_p): Consider old-style and volatile asms to trap. From-SVN: r33787
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/rtlanal.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4b7e955..6ad054e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-08 Richard Henderson <rth@cygnus.com>
+
+ * rtlanal.c (may_trap_p): Consider old-style and volatile
+ asms to trap.
+
Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 8a3eb62..891799b 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1743,11 +1743,14 @@ may_trap_p (x)
case SCRATCH:
return 0;
- /* Conditional trap can trap! */
+ case ASM_INPUT:
case UNSPEC_VOLATILE:
case TRAP_IF:
return 1;
+ case ASM_OPERANDS:
+ return MEM_VOLATILE_P (x);
+
/* Memory ref can trap unless it's a static var or a stack slot. */
case MEM:
return rtx_addr_can_trap_p (XEXP (x, 0));