diff options
author | Paul Brook <paul@codesourcery.com> | 2005-07-08 08:09:02 +0000 |
---|---|---|
committer | Mark Mitchell <mark@codesourcery.com> | 2005-07-08 08:09:02 +0000 |
commit | 099987026cdfd6526242e57692fbd1d76c618aeb (patch) | |
tree | 54c8454038000ef935acbec33692889097c922cb | |
parent | f3cd245a894d141dd55be69dab92c835d99261c8 (diff) |
Issue #347
* config/arm/arm.c (arm_pad_arg_upward): Compare return value of
DEFAULT_FUNCTION_ARG_PADDING to upward.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl-3_4_3-linux-branch@101756 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | ChangeLog.csl | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 8 |
2 files changed, 11 insertions, 3 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl index dcc9e65d04a..9c818856a0d 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,9 @@ +2005-07-07 Paul Brook <paul@codesourcery.com> + + Issue #347 + * config/arm/arm.c (arm_pad_arg_upward): Compare return value of + DEFAULT_FUNCTION_ARG_PADDING to upward. + 2005-06-14 Daniel Jacobowitz <dan@codesourcery.com> * gcc/config/mips/linux.h (MD_FALLBACK_REGISTER_OFFSET): Define. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 563833b0abd..ef6092d9a69 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -2685,14 +2685,16 @@ 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. */ + Return true if an argument passed on the stack should be padded upwards, + 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; |