diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-27 07:05:18 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-27 07:05:18 +0000 |
commit | 0fee47f4b75b538c02375f8bf0e4b23ccd107fac (patch) | |
tree | 4fb176f0e3f8d0be12e1b3e8dc88d2e5e55ee7b6 /gcc/function.c | |
parent | 0b46aa51cb558276e1f47db062b9eb574b5b0f6c (diff) | |
download | gcc-0fee47f4b75b538c02375f8bf0e4b23ccd107fac.tar.gz |
* calls.c (initialize_argument_information): If an argument has no
stack space associated with it, and BLOCK_REG_PADDING is defined,
use it to decide at which end the argument should be padded.
* function.c (assign_parms): Allocate BLKmode stack slots.
* config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
(mips_pad_reg_upward): Declare.
* config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
(CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
(FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
(BLOCK_REG_PADDING): Use mips_pad_reg_upward.
* config/mips/mips.c (struct mips_arg_info): Remove struct_p.
(mips_expand_call): Remove code for generating structure shifts.
(mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
types unless using the EABI.
(function_arg_advance): Don't generate shift instructions.
(function_arg): Don't return them. Don't short-circuit the
check for double structure chunks for DFmode arguments.
(mips_pad_arg_upward, mips_pad_reg_upward): New functions.
(mips_expand_prologue): Remove code to emit structure shifts.
* config/mips/irix6-libc-compat.c: Remove workarounds for buggy
structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
comments to say that only structure returns are a problem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70843 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/function.c b/gcc/function.c index fd7c7f79350..a17ace15d9d 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -4674,9 +4674,8 @@ assign_parms (tree fndecl) if (stack_parm == 0) { - stack_parm - = assign_stack_local (GET_MODE (entry_parm), - size_stored, 0); + stack_parm = assign_stack_local (BLKmode, size_stored, 0); + PUT_MODE (stack_parm, GET_MODE (entry_parm)); set_mem_attributes (stack_parm, parm, 1); } |