diff options
author | Hiroaki Etoh <etoh@cvs.openbsd.org> | 2003-02-03 09:17:19 +0000 |
---|---|---|
committer | Hiroaki Etoh <etoh@cvs.openbsd.org> | 2003-02-03 09:17:19 +0000 |
commit | d2e7d652311e2aff60d568d1a2c6057472dc749b (patch) | |
tree | 33e8c54c01c9df63eb8fccd38178ff8f6431e073 | |
parent | 5d3b1bfd057c043494b953dd8ca8990c870f3984 (diff) |
modify plus_constant_wide to provide the address of frame pointer plus zero constant.
-rw-r--r-- | gnu/egcs/gcc/explow.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/egcs/gcc/explow.c b/gnu/egcs/gcc/explow.c index 603a8d7c594..982927d6aa2 100644 --- a/gnu/egcs/gcc/explow.c +++ b/gnu/egcs/gcc/explow.c @@ -52,7 +52,8 @@ plus_constant_wide (x, c) register rtx tem; int all_constant = 0; - if (c == 0) + if (c == 0 + && !(flag_propolice_protection && x == virtual_stack_vars_rtx)) return x; restart: @@ -149,7 +150,8 @@ plus_constant_wide (x, c) break; } - if (c != 0) + if (c != 0 + || (flag_propolice_protection && x == virtual_stack_vars_rtx)) x = gen_rtx_PLUS (mode, x, GEN_INT (c)); if (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == LABEL_REF) |