diff options
author | Paul Brook <paul@codesourcery.com> | 2005-07-07 21:43:10 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2005-07-07 21:43:10 +0000 |
commit | 5a29b385acaae4c85403081e38ce0876ae423524 (patch) | |
tree | aee66d86297ccb3149762a13be3c456f3e065d1c | |
parent | d96a549382e198d28fc9b55e52fc97b3cf35952a (diff) | |
download | gcc-5a29b385acaae4c85403081e38ce0876ae423524.zip gcc-5a29b385acaae4c85403081e38ce0876ae423524.tar.gz gcc-5a29b385acaae4c85403081e38ce0876ae423524.tar.bz2 |
arm.c (arm_pad_arg_upward): Compare return value of DEFAULT_FUNCTION_ARG_PADDING to upward.
2005-07-07 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_pad_arg_upward): Compare return value of
DEFAULT_FUNCTION_ARG_PADDING to upward.
[[Split portion of a mixed commit.]]
From-SVN: r101736.2
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dbc36f7..fc4e8eb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-07-07 Paul Brook <paul@codesourcery.com> + + * config/arm/arm.c (arm_pad_arg_upward): Compare return value of + DEFAULT_FUNCTION_ARG_PADDING to upward. + 2005-07-07 Richard Henderson <rth@redhat.com> * function.c (locate_and_pad_parm): Record parameter alignment in diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 4a87848..96d4add 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -6658,13 +6658,15 @@ arm_must_pass_in_stack (enum machine_mode mode, tree type) /* For use by FUNCTION_ARG_PADDING (MODE, TYPE). Return true if an argument passed on the stack should be padded upwards, - i.e. if the least-significant byte has useful data. */ + i.e. if the least-significant byte has useful data. + For legacy APCS ABIs we use the default. For AAPCS based ABIs small + aggregate types are placed in the lowest memory address. */ bool arm_pad_arg_upward (enum machine_mode mode, tree type) { if (!TARGET_AAPCS_BASED) - return DEFAULT_FUNCTION_ARG_PADDING(mode, type); + return DEFAULT_FUNCTION_ARG_PADDING(mode, type) == upward; if (type && BYTES_BIG_ENDIAN && INTEGRAL_TYPE_P (type)) return false; |