diff options
author | Stan Shebs <shebs@apple.com> | 2004-11-14 20:28:58 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2004-11-14 20:28:58 +0000 |
commit | 594a51febe0e6419db7bf30ca233da8a563301fa (patch) | |
tree | c5f0272bf5c341b9e9b100e210c59c9a41ee1a0e /gcc/ChangeLog | |
parent | 1e1b864906576c1e8ccd53595a727fc393fc0074 (diff) | |
download | gcc-594a51febe0e6419db7bf30ca233da8a563301fa.zip gcc-594a51febe0e6419db7bf30ca233da8a563301fa.tar.gz gcc-594a51febe0e6419db7bf30ca233da8a563301fa.tar.bz2 |
Basic ABI changes for passing structs by value in 64-bit Darwin.
* config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
(rs6000_override_options): Set it for 64-bit Darwin.
(rs6000_parse_abi_options): Add testing options to change it.
(rs6000_return_in_memory): Test whether the type is one
that can be passed in registers.
(darwin64_function_arg_advance): New.
(function_arg_advance): Call it, plus add recursion depth
argument and test when counting off arguments.
(rs6000_darwin64_function_arg): New.
(function_arg): Call it.
(setup_incoming_varargs): Add argument to function_arg_advance.
(rs6000_darwin64_function_value): New.
(rs6000_function_value): Call it.
* config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
* config/rs6000/rs6000-protos.h: Update decl of
function_arg_advance.
From-SVN: r90629
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d6adbcb..4eea1ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,23 @@ +2004-11-14 Stan Shebs <shebs@apple.com> + + Basic ABI changes for passing structs by value in 64-bit Darwin. + * config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag. + (rs6000_override_options): Set it for 64-bit Darwin. + (rs6000_parse_abi_options): Add testing options to change it. + (rs6000_return_in_memory): Test whether the type is one + that can be passed in registers. + (darwin64_function_arg_advance): New. + (function_arg_advance): Call it, plus add recursion depth + argument and test when counting off arguments. + (rs6000_darwin64_function_arg): New. + (function_arg): Call it. + (setup_incoming_varargs): Add argument to function_arg_advance. + (rs6000_darwin64_function_value): New. + (rs6000_function_value): Call it. + * config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg. + * config/rs6000/rs6000-protos.h: Update decl of + function_arg_advance. + 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu> PR c/17279 |