Add gcc.target/x86_64/abi/callabi/vaarg-6.c
2015-02-17 Tom de Vries <tom@codesourcery.com> * gcc.target/x86_64/abi/callabi/vaarg-6.c: New test. From-SVN: r220757
This commit is contained in:
parent
61a17dcaf2
commit
06e6dc291c
@ -1,3 +1,7 @@
|
||||
2015-02-17 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* gcc.target/x86_64/abi/callabi/vaarg-6.c: New test.
|
||||
|
||||
2015-02-17 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
|
40
gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-6.c
Normal file
40
gcc/testsuite/gcc.target/x86_64/abi/callabi/vaarg-6.c
Normal file
@ -0,0 +1,40 @@
|
||||
/* { dg-do run } */
|
||||
/* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
extern void __attribute__ ((sysv_abi)) abort (void);
|
||||
|
||||
char *a = "1";
|
||||
char *b = "2";
|
||||
|
||||
static void __attribute__((noinline,noclone))
|
||||
do_cpy2 (va_list argp)
|
||||
{
|
||||
char *e;
|
||||
|
||||
e = va_arg (argp, char *);
|
||||
e = va_arg (argp, char *);
|
||||
if (e != b)
|
||||
abort ();
|
||||
}
|
||||
|
||||
void __attribute__((noinline,noclone))
|
||||
do_cpy (int dummy, ...)
|
||||
{
|
||||
va_list argp;
|
||||
|
||||
va_start (argp, dummy);
|
||||
|
||||
do_cpy2 (argp);
|
||||
|
||||
va_end (argp);
|
||||
}
|
||||
|
||||
int __attribute__ ((sysv_abi))
|
||||
main ()
|
||||
{
|
||||
do_cpy (0, a, b);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user