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