comparison gcc/testsuite/g++.dg/abi/pr60336-11.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
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 }