expr.c (push_block): Handle targets where the stack grows to higher addresses...

* expr.c (push_block): Handle targets where the stack grows
        to higher addresses, but args grow to lower addresses and
        ACCUMULATE_OUTGOING_ARGS is not defined.

From-SVN: r23046
This commit is contained in:
Herman A.J. ten Brugge 1998-10-13 12:08:10 +02:00 committed by Jeff Law
parent ce43588feb
commit e1a9b2ab4f
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,9 @@
1998-10-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* expr.c (push_block): Handle targets where the stack grows
to higher addresses, but args grow to lower addresses and
ACCUMULATE_OUTGOING_ARGS is not defined.
Tue Oct 13 08:00:52 1998 Catherine Moore <clm@cygnus.com>
* config/v850/v850.c (print_operand): Extend meaning

View File

@ -2700,7 +2700,13 @@ push_block (size, extra, below)
anti_adjust_stack (temp);
}
#ifdef STACK_GROWS_DOWNWARD
#if defined (STACK_GROWS_DOWNWARD) \
|| (defined (ARGS_GROW_DOWNWARD) \
&& !defined (ACCUMULATE_OUTGOING_ARGS))
/* 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);