diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-02 01:14:45 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-02 01:14:45 +0000 |
commit | 12a97a04fea1fcdf150ffb74c5e48788bee5c3d3 (patch) | |
tree | 0f1fa75843bc922de60b8216492c90d6b82eeece /gcc/expr.c | |
parent | f3400abb62ca61eab45d996d47c972817654d2b3 (diff) | |
download | gcc-12a97a04fea1fcdf150ffb74c5e48788bee5c3d3.tar.gz |
* expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
(emit_push_insn): Use specified padding direction when
STACK_PUSH_CODE is POST_INC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45352 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 222d7ec0f08..e8774e46f6c 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -3102,18 +3102,11 @@ push_block (size, extra, below) } #ifndef STACK_GROWS_DOWNWARD -#ifdef ARGS_GROW_DOWNWARD - if (!ACCUMULATE_OUTGOING_ARGS) -#else if (0) -#endif #else if (1) #endif { - /* Return the lowest stack address when STACK or ARGS grow downward and - we are not aaccumulating outgoing arguments (the c4x port uses such - conventions). */ temp = virtual_outgoing_args_rtx; if (extra != 0 && below) temp = plus_constant (temp, extra); @@ -3273,8 +3266,9 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra, Default is below for small data on big-endian machines; else above. */ enum direction where_pad = FUNCTION_ARG_PADDING (mode, type); - /* Invert direction if stack is post-update. */ - if (STACK_PUSH_CODE == POST_INC || STACK_PUSH_CODE == POST_DEC) + /* Invert direction if stack is post-decrement. + FIXME: why? */ + if (STACK_PUSH_CODE == POST_DEC) if (where_pad != none) where_pad = (where_pad == downward ? upward : downward); |