aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips-protos.h
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2002-03-22 09:55:03 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2002-03-22 09:55:03 +0000
commit4d72536eeccbed73b276fb236a89228c34d5f50f (patch)
tree2b34aeb080522c674434cc281e4179ead1084609 /gcc/config/mips/mips-protos.h
parente6f884cdac3ca7194b8cf8113702251aac072fa9 (diff)
downloadgcc-4d72536eeccbed73b276fb236a89228c34d5f50f.zip
gcc-4d72536eeccbed73b276fb236a89228c34d5f50f.tar.gz
gcc-4d72536eeccbed73b276fb236a89228c34d5f50f.tar.bz2
abi64.h (SETUP_INCOMING_VARARGS): Undefine.
* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine. * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare. (function_arg): Constify CUMULATIVE_ARGS. (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise. * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT. (UNITS_PER_DOUBLE): New macro. (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs. (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs, fp_regs and stack_words. (EABI_FLOAT_VARARGS_P): New macro. * config/mips/mips.c (struct mips_arg_info): New. (mips_arg_info): New function. (function_arg_advance): Use it. Add adjustment instructions here rather than in function_arg. (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check for VOIDmode at the beginning of the function. (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info. (function_arg_pass_by_reference): Likewise. (mips_setup_incoming_varags): New, largely based on old abi64.h code. (mips_build_va_list): Test EABI_FLOAT_VARARGS_P. (mips_va_start): Likewise. Use the new stack_words field of CUMULATIVE_ARGS to set up overflow area. Reformat. (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of doubles and other types, aligning the overflow pointer for non-doubles too. Remove some code duplication. Replace hard-coded constants. From-SVN: r51167
Diffstat (limited to 'gcc/config/mips/mips-protos.h')
-rw-r--r--gcc/config/mips/mips-protos.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h
index 8c4cec2..8332782 100644
--- a/gcc/config/mips/mips-protos.h
+++ b/gcc/config/mips/mips-protos.h
@@ -56,16 +56,21 @@ extern unsigned int mips_hard_regno_nregs PARAMS ((int,
enum machine_mode));
extern int mips_return_in_memory PARAMS ((tree));
-extern struct rtx_def *function_arg PARAMS ((CUMULATIVE_ARGS *,
+extern struct rtx_def *function_arg PARAMS ((const CUMULATIVE_ARGS *,
enum machine_mode, tree, int));
extern void function_arg_advance PARAMS ((CUMULATIVE_ARGS *,
enum machine_mode,
tree, int));
-extern int function_arg_partial_nregs PARAMS ((CUMULATIVE_ARGS *,
- enum machine_mode,
- tree, int));
+extern int function_arg_partial_nregs
+ PARAMS ((const CUMULATIVE_ARGS *,
+ enum machine_mode,
+ tree, int));
+extern int mips_setup_incoming_varargs
+ PARAMS ((const CUMULATIVE_ARGS *,
+ enum machine_mode,
+ tree, int));
extern int function_arg_pass_by_reference
- PARAMS ((CUMULATIVE_ARGS *,
+ PARAMS ((const CUMULATIVE_ARGS *,
enum machine_mode, tree, int));
extern int mips16_constant_after_function_p PARAMS ((tree));
extern int mips_output_external PARAMS ((FILE *, tree,