From a5558ca74b5e5f0c95f4c13a1d7f60b8a130c95b Mon Sep 17 00:00:00 2001 From: pbrook Date: Thu, 7 Jul 2005 21:43:10 +0000 Subject: [PATCH] 2005-07-07 Paul Brook * config/arm/arm.c (arm_pad_arg_upward): Compare return value of DEFAULT_FUNCTION_ARG_PADDING to upward. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101736 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dbc36f7e2b4..fc4e8eb5bd3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-07-07 Paul Brook + + * config/arm/arm.c (arm_pad_arg_upward): Compare return value of + DEFAULT_FUNCTION_ARG_PADDING to upward. + 2005-07-07 Richard Henderson * 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 4a87848a35a..96d4add23df 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; -- 2.11.4.GIT