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
This commit is contained in:
Jie Zhang 2010-08-18 14:45:33 +00:00 committed by Jie Zhang
parent 480161b52b
commit 1027c9c5b9
2 changed files with 18 additions and 2 deletions

View File

@ -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

View File

@ -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)