diff options
author | Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | 1998-10-13 12:08:10 +0200 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-10-13 04:08:10 -0600 |
commit | e1a9b2ab4f420024a4fc4735828be238fcbc40e0 (patch) | |
tree | 4133dfe293460622a1b0060e8dae7efc24cd4bbe | |
parent | ce43588feb5a9fb952d8986d00704e5b81f2bd89 (diff) | |
download | gcc-e1a9b2ab4f420024a4fc4735828be238fcbc40e0.zip gcc-e1a9b2ab4f420024a4fc4735828be238fcbc40e0.tar.gz gcc-e1a9b2ab4f420024a4fc4735828be238fcbc40e0.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/expr.c | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a1b45b..fb4f9b3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 @@ -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); |