summaryrefslogtreecommitdiff
path: root/gcc/config/alpha/alpha-protos.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-27 17:52:03 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-27 17:52:03 +0000
commita685f5d8e42ae59f9b5267023cb5b82cc68c8ceb (patch)
tree49762bdb5dbf79cca9a0994dd11b48b208a92a1e /gcc/config/alpha/alpha-protos.h
parent2c06e494653930abebdfddaf07f5105c0d64661b (diff)
downloadgcc-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.h3
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);