diff options
Diffstat (limited to 'gnu/egcs')
-rw-r--r-- | gnu/egcs/gcc/expr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gnu/egcs/gcc/expr.c b/gnu/egcs/gcc/expr.c index 829a3fe5535..db562c895d3 100644 --- a/gnu/egcs/gcc/expr.c +++ b/gnu/egcs/gcc/expr.c @@ -5162,7 +5162,9 @@ force_operand (value, target) && GET_CODE (XEXP (value, 0)) == PLUS && GET_CODE (XEXP (XEXP (value, 0), 0)) == REG && REGNO (XEXP (XEXP (value, 0), 0)) >= FIRST_VIRTUAL_REGISTER - && REGNO (XEXP (XEXP (value, 0), 0)) <= LAST_VIRTUAL_REGISTER) + && REGNO (XEXP (XEXP (value, 0), 0)) <= LAST_VIRTUAL_REGISTER + && (!flag_propolice_protection + || XEXP (XEXP (value, 0), 0) != virtual_stack_vars_rtx)) { rtx temp = expand_binop (GET_MODE (value), binoptab, XEXP (XEXP (value, 0), 0), op2, |