131
|
1 // { dg-do run { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } }
|
|
2 // { dg-options "-O2" }
|
|
3
|
|
4 #include <stdarg.h>
|
|
5
|
|
6 struct dummy0
|
|
7 {
|
|
8 void bar (void);
|
|
9 };
|
|
10 struct dummy1
|
|
11 {
|
|
12 void foo (void);
|
|
13 };
|
|
14 struct dummy : dummy0, dummy1 { };
|
|
15
|
|
16 void
|
|
17 test (struct dummy a, int m, ...)
|
|
18 {
|
|
19 va_list va_arglist;
|
|
20 int i;
|
|
21 int count = 0;
|
|
22
|
|
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 ();
|
|
47 }
|
|
48
|
|
49 struct dummy a0;
|
|
50
|
|
51 int
|
|
52 main ()
|
|
53 {
|
|
54 test (a0, 0, 1, 2, 3, 4, 5, 6);
|
|
55 return 0;
|
|
56 }
|