summaryrefslogtreecommitdiff
path: root/gnu/egcs/gcc/explow.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/egcs/gcc/explow.c')
-rw-r--r--gnu/egcs/gcc/explow.c6
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)