diff options
author | Dale Johannesen <dalej@apple.com> | 2003-01-09 00:53:29 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@gcc.gnu.org> | 2003-01-09 00:53:29 +0000 |
commit | de62b72ce74de2f505af7c4918ba26ff470658a2 (patch) | |
tree | efb59c67247b4cedb4349b26a2952948549d354a /gcc | |
parent | cdc497ddf971302b88b21d815fbff63db1347b9e (diff) | |
download | gcc-de62b72ce74de2f505af7c4918ba26ff470658a2.zip gcc-de62b72ce74de2f505af7c4918ba26ff470658a2.tar.gz gcc-de62b72ce74de2f505af7c4918ba26ff470658a2.tar.bz2 |
function.c (assign_parms): Don't set pretend_args_size if REG_PARM_STACK_SPACE.
2003-01-08 Dale Johannesen <dalej@apple.com>
* function.c (assign_parms): Don't set pretend_args_size if
REG_PARM_STACK_SPACE.
config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
pretend_args_size.
From-SVN: r61063
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 | ||||
-rw-r--r-- | gcc/function.c | 6 |
3 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12b6c83..7e787a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-01-08 Dale Johannesen <dalej@apple.com> + + * function.c (assign_parms): Don't set pretend_args_size if + REG_PARM_STACK_SPACE. + config/rs6000/rs6000.c (setup_incoming_varargs): Don't set + pretend_args_size. + 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org> * gcc.hlp: Delete. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 292a0b8..420085c 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3325,7 +3325,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) CUMULATIVE_ARGS *cum; enum machine_mode mode; tree type; - int *pretend_size; + int *pretend_size ATTRIBUTE_UNUSED; int no_rtl; { @@ -3380,9 +3380,6 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) (GP_ARG_MIN_REG + first_reg_offset, mem, GP_ARG_NUM_REG - first_reg_offset, (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD); - - /* ??? Does ABI_V4 need this at all? */ - *pretend_size = (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD; } /* Save FP registers if needed. */ diff --git a/gcc/function.c b/gcc/function.c index 62f7a70..0a0f56d 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4477,6 +4477,12 @@ assign_parms (fndecl) if (nregs > 0) { +#if defined (REG_PARM_STACK_SPACE) && !defined (MAYBE_REG_PARM_STACK_SPACE) + /* When REG_PARM_STACK_SPACE is nonzero, stack space for + split parameters was allocated by our caller, so we + won't be pushing it in the prolog. */ + if (REG_PARM_STACK_SPACE (fndecl) == 0) +#endif current_function_pretend_args_size = (((nregs * UNITS_PER_WORD) + (PARM_BOUNDARY / BITS_PER_UNIT) - 1) / (PARM_BOUNDARY / BITS_PER_UNIT) |