PR c++/86728 - C variadic generic lambda.
[official-gcc.git] / gcc / testsuite / g++.dg / abi / pr60336-11.C
blob14cd6d0ff3de28961e0e219cd40851413fc020b6
1 // { dg-do run { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } }
2 // { dg-options "-O2" }
4 #include <stdarg.h>
6 struct dummy0
8   void bar (void);
9 };
10 struct dummy1
12   void foo (void);
14 struct dummy : dummy0, dummy1 { };
16 void
17 test (struct dummy a, int m, ...)
19   va_list va_arglist;
20   int i;
21   int count = 0;
23   if (m == 0)
24     count++;
25   va_start (va_arglist, m);
26   i = va_arg (va_arglist, int);
27   if (i == 1)
28     count++;
29   i = va_arg (va_arglist, int);
30   if (i == 2)
31   i = va_arg (va_arglist, int);
32     count++;
33   if (i == 3)
34     count++;
35   i = va_arg (va_arglist, int);
36   if (i == 4)
37     count++;
38   i = va_arg (va_arglist, int);
39   if (i == 5)
40     count++;
41   i = va_arg (va_arglist, int);
42   if (i == 6)
43     count++;
44   va_end (va_arglist);
45   if (count != 7)
46     __builtin_abort ();
49 struct dummy a0;
51 int
52 main ()
54   test (a0, 0, 1, 2, 3, 4, 5, 6);
55   return 0;