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:
Tom de Vries 2015-02-17 11:42:26 +00:00 committed by Tom de Vries
parent 61a17dcaf2
commit 06e6dc291c
2 changed files with 44 additions and 0 deletions

View File

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

View 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;
}