Reverting merge from trunk
[official-gcc.git] / gcc / testsuite / gcc.target / x86_64 / abi / callabi / vaarg-4a.c
bloba44470431ffb9b2037854dc00fa3efc430105df2
1 /* Test for cross x86_64<->w64 abi va_list calls. */
2 /* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
3 /* { dg-options "-O2 -mabi=ms -std=gnu99 -fno-builtin" } */
4 /* { dg-additional-sources "vaarg-4b.c" } */
6 extern __SIZE_TYPE__ __attribute__ ((sysv_abi)) strlen (const char *);
7 extern int __attribute__ ((sysv_abi)) sprintf (char *,const char *, ...);
8 extern void __attribute__ ((sysv_abi)) abort (void);
10 extern void do_cpy (char *, ...);
12 int __attribute__ ((sysv_abi))
13 main ()
15 char s[256];
17 do_cpy (s, "1","2","3","4", "5", "6", "7", "");
19 if (s[0] != '1' || s[1] !='2' || s[2] != '3' || s[3] != '4'
20 || s[4] != '5' || s[5] != '6' || s[6] != '7' || s[7] != 0)
21 abort ();
23 return 0;