diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-03 11:14:07 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-03 11:14:07 +0000 |
commit | 915e81b8b3ab82d559c65434587a01ae746d9035 (patch) | |
tree | 20dae8c49de7b0cfdf57e381abee0961ed2ef0d6 /gcc/expr.h | |
parent | c3ce66b01e47e99e429d17fb6df311852d2d5fc5 (diff) | |
download | gcc-915e81b8b3ab82d559c65434587a01ae746d9035.tar.gz |
2003-06-03 Aldy Hernandez <aldyh@redhat.com>
* function.c (assign_parms): Split complex arguments.
* doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
* expr.h (SPLIT_COMPLEX_ARGS): Define.
(split_complex_types): Protoize.
(split_complex_values): Protoize.
* calls.c (expand_call): Split complex arguments on architectures
that require it.
(split_complex_values): New.
(split_complex_types): New.
* config/rs6000/rs6000.c (rs6000_libcall_value): New.
(rs6000_function_value): Handle complex values on AIX.
(rs6000_complex_function_value): New.
* config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
* config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
(SPLIT_COMPLEX_ARGS): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67367 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index 8cf5a8e5a6c..594df73a0d2 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -158,6 +158,14 @@ do { \ #define FUNCTION_ARG_BOUNDARY(MODE, TYPE) PARM_BOUNDARY #endif +/* Define to nonzero if complex arguments should be split into their + corresponding components. */ +#ifndef SPLIT_COMPLEX_ARGS +#define SPLIT_COMPLEX_ARGS 0 +#endif +tree split_complex_types (tree); +tree split_complex_values (tree); + /* Provide a default value for STRICT_ARGUMENT_NAMING. */ #ifndef STRICT_ARGUMENT_NAMING #define STRICT_ARGUMENT_NAMING 0 |