From e1a9b2ab4f420024a4fc4735828be238fcbc40e0 Mon Sep 17 00:00:00 2001 From: "Herman A.J. ten Brugge" Date: Tue, 13 Oct 1998 12:08:10 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/expr.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a1b45b157a..fb4f9b35def 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +1998-10-12 Herman A.J. ten Brugge + + * 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 * config/v850/v850.c (print_operand): Extend meaning diff --git a/gcc/expr.c b/gcc/expr.c index 53dce8fdb0e..5e7a2310229 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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); -- 2.30.2