diff options
author | jiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-08-18 14:45:33 +0000 |
---|---|---|
committer | jiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-08-18 14:45:33 +0000 |
commit | dd169c0c801320344389aca7d5232f5d6755c389 (patch) | |
tree | a69a0aadb5b9e54f6f31e9195429a7796bd80e26 | |
parent | b1832a02b78a5d0cd91d5eb67c8d3f2a41469c55 (diff) | |
download | gcc-dd169c0c801320344389aca7d5232f5d6755c389.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163341 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtin-apply2.c | 13 |
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2e2912e79e8..e4c980e4062 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2010-08-18 Jie Zhang <jie@codesourcery.com> + + * 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 <yao@codesourcery.com> PR target/45094 diff --git a/gcc/testsuite/gcc.dg/builtin-apply2.c b/gcc/testsuite/gcc.dg/builtin-apply2.c index a303e3ddb79..047a1e85449 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) |