aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-10-08 11:25:24 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-10-08 11:25:24 -0400
commitfc1557074c0b134c2dc91a6879dfdafea976d15f (patch)
tree629b8f01ecc065b4cc17ce9ba572bc199ad6fb19
parent95216deccf22654a633672249bfe66c89a138880 (diff)
downloadgcc-fc1557074c0b134c2dc91a6879dfdafea976d15f.zip
gcc-fc1557074c0b134c2dc91a6879dfdafea976d15f.tar.gz
gcc-fc1557074c0b134c2dc91a6879dfdafea976d15f.tar.bz2
(expand_expr, case MAX_EXPR): Don't use TARGET directly if it is a
volatile MEM. From-SVN: r5681
-rw-r--r--gcc/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 0d01325..de2d0e9 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5022,6 +5022,7 @@ expand_expr (exp, target, tmode, modifier)
case MIN_EXPR:
target = original_target;
if (target == 0 || ! safe_from_p (target, TREE_OPERAND (exp, 1))
+ || (GET_CODE (target) == MEM && MEM_VOLATILE_P (target))
|| (GET_CODE (target) == REG
&& REGNO (target) < FIRST_PSEUDO_REGISTER))
target = gen_reg_rtx (mode);