g++.dg/cpp1y/vla11.C...
[gcc.git] / gcc / testsuite / g++.dg / abi / pr60336-4.C
1 // { dg-do run { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } }
2 // { dg-options "-O2 -fabi-version=9" }
3
4 #include <stdarg.h>
5
6 struct dummy { };
7
8 void
9 test (struct dummy a, int m, ...)
10 {
11 va_list va_arglist;
12 int i;
13 int count = 0;
14
15 if (m == 0)
16 count++;
17 va_start (va_arglist, m);
18 i = va_arg (va_arglist, int);
19 if (i == 1)
20 count++;
21 i = va_arg (va_arglist, int);
22 if (i == 2)
23 i = va_arg (va_arglist, int);
24 count++;
25 if (i == 3)
26 count++;
27 i = va_arg (va_arglist, int);
28 if (i == 4)
29 count++;
30 i = va_arg (va_arglist, int);
31 if (i == 5)
32 count++;
33 i = va_arg (va_arglist, int);
34 if (i == 6)
35 count++;
36 va_end (va_arglist);
37 if (count == 7)
38 __builtin_abort ();
39 }
40
41 struct dummy a0;
42
43 int
44 main ()
45 {
46 test (a0, 0, 1, 2, 3, 4, 5, 6);
47 return 0;
48 }