From: Jie Zhang Date: Wed, 18 Aug 2010 14:45:33 +0000 (+0000) Subject: builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to 20 if __ARM_PCS is defined otherwi... X-Git-Tag: releases/gcc-4.6.0~4951 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1027c9c5b9c0d3d60fe1eb711bd97c8432c6cfb6;p=thirdparty%2Fgcc.git builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to 20 if __ARM_PCS is defined otherwise 64. * gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to 20 if __ARM_PCS is defined otherwise 64. (bar): Use STACK_ARGUMENTS_SIZE for the third argument instead of hard coded 64. From-SVN: r163341 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2e2912e79e89..e4c980e40626 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2010-08-18 Jie Zhang + + * gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to + 20 if __ARM_PCS is defined otherwise 64. + (bar): Use STACK_ARGUMENTS_SIZE for the third argument + instead of hard coded 64. + 2010-08-18 Yao Qi PR target/45094 diff --git a/gcc/testsuite/gcc.dg/builtin-apply2.c b/gcc/testsuite/gcc.dg/builtin-apply2.c index a303e3ddb79b..047a1e854497 100644 --- a/gcc/testsuite/gcc.dg/builtin-apply2.c +++ b/gcc/testsuite/gcc.dg/builtin-apply2.c @@ -8,10 +8,19 @@ /* Verify that __builtin_apply behaves correctly on targets with pre-pushed arguments (e.g. SPARC). */ - + #define INTEGER_ARG 5 +#ifdef __ARM_PCS +/* For Base AAPCS, NAME is passed in r0. D is passed in r2 and r3. + E, F and G are passed on stack. So the size of the stack argument + data is 20. */ +#define STACK_ARGUMENTS_SIZE 20 +#else +#define STACK_ARGUMENTS_SIZE 64 +#endif + extern void abort(void); void foo(char *name, double d, double e, double f, int g) @@ -22,7 +31,7 @@ void foo(char *name, double d, double e, double f, int g) void bar(char *name, ...) { - __builtin_apply(foo, __builtin_apply_args(), 64); + __builtin_apply(foo, __builtin_apply_args(), STACK_ARGUMENTS_SIZE); } int main(void)