diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2003-06-03 11:14:07 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2003-06-03 11:14:07 +0000 |
commit | ded9bf77e35ce9a22468a1f56595df0741e2f22a (patch) | |
tree | 20dae8c49de7b0cfdf57e381abee0961ed2ef0d6 /gcc/expr.h | |
parent | 24a4dd31f80136aadf69774545916675b50836d6 (diff) | |
download | gcc-ded9bf77e35ce9a22468a1f56595df0741e2f22a.tar.gz |
function.c (assign_parms): Split complex arguments.
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.
From-SVN: r67367
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 |