diff options
author | Hiroaki Etoh <etoh@cvs.openbsd.org> | 2003-02-03 09:17:40 +0000 |
---|---|---|
committer | Hiroaki Etoh <etoh@cvs.openbsd.org> | 2003-02-03 09:17:40 +0000 |
commit | 868ae747c718dffa9416fd64924a0f93279c7b8a (patch) | |
tree | 5ab693eae35c369f27e7fdaeeb12ddc3106248b7 | |
parent | d2e7d652311e2aff60d568d1a2c6057472dc749b (diff) |
modify expand_expr not to modify the addressing form of local variables: frame pointer plus constant.
-rw-r--r-- | gnu/egcs/gcc/expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gnu/egcs/gcc/expr.c b/gnu/egcs/gcc/expr.c index 996c277a5cc..829a3fe5535 100644 --- a/gnu/egcs/gcc/expr.c +++ b/gnu/egcs/gcc/expr.c @@ -41,6 +41,7 @@ Boston, MA 02111-1307, USA. */ #include "typeclass.h" #include "defaults.h" #include "toplev.h" +#include "protector.h" #define CEIL(x,y) (((x) + (y) - 1) / (y)) @@ -7077,7 +7078,7 @@ expand_expr (exp, target, tmode, modifier) associate it to put the constant outside. */ if (GET_CODE (op1) == PLUS && CONSTANT_P (XEXP (op1, 1)) - && !(flag_propolice_protection && XEXP (op1, 0) == virtual_stack_vars_rtx)) + && !(flag_propolice_protection && (contains_fp (op0) || contains_fp (op1)))) { rtx constant_term = const0_rtx; |