diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-27 17:52:03 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-27 17:52:03 +0000 |
commit | a685f5d8e42ae59f9b5267023cb5b82cc68c8ceb (patch) | |
tree | 49762bdb5dbf79cca9a0994dd11b48b208a92a1e /gcc/config/alpha/alpha-protos.h | |
parent | 2c06e494653930abebdfddaf07f5105c0d64661b (diff) | |
download | gcc-a685f5d8e42ae59f9b5267023cb5b82cc68c8ceb.tar.gz |
* config/alpha/alpha.c (function_arg): Don't pass small aggregates
in floating point registers. Validate that we don't receive complex
values here. Use #elif.
(return_in_memory, function_value): New.
(alpha_va_arg): Handle complex values as two arguments.
* config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
(FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
(SPLIT_COMPLEX_ARGS): New.
* config/alpha/alpha-protos.h: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68591 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/alpha/alpha-protos.h')
-rw-r--r-- | gcc/config/alpha/alpha-protos.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h index 3a342eb3f84..0e14e6b2da3 100644 --- a/gcc/config/alpha/alpha-protos.h +++ b/gcc/config/alpha/alpha-protos.h @@ -135,6 +135,9 @@ extern void alpha_setup_incoming_varargs (CUMULATIVE_ARGS, enum machine_mode, extern void alpha_va_start (tree, rtx); extern rtx alpha_va_arg (tree, tree); extern rtx function_arg (CUMULATIVE_ARGS, enum machine_mode, tree, int); +extern rtx function_value (tree, tree, enum machine_mode); +extern bool return_in_memory (tree, enum machine_mode); + extern void alpha_start_function (FILE *, const char *, tree); extern void alpha_end_function (FILE *, const char *, tree); |