comparison gcc/testsuite/g++.dg/abi/pr60336-10.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 struct dummy1 { };
8 struct dummy : dummy0, dummy1 { };
9
10 void
11 test (struct dummy a, int m, ...)
12 {
13 va_list va_arglist;
14 int i;
15 int count = 0;
16
17 if (m == 0)
18 count++;
19 va_start (va_arglist, m);
20 i = va_arg (va_arglist, int);
21 if (i == 1)
22 count++;
23 i = va_arg (va_arglist, int);
24 if (i == 2)
25 i = va_arg (va_arglist, int);
26 count++;
27 if (i == 3)
28 count++;
29 i = va_arg (va_arglist, int);
30 if (i == 4)
31 count++;
32 i = va_arg (va_arglist, int);
33 if (i == 5)
34 count++;
35 i = va_arg (va_arglist, int);
36 if (i == 6)
37 count++;
38 va_end (va_arglist);
39 if (count != 7)
40 __builtin_abort ();
41 }
42
43 struct dummy a0;
44
45 int
46 main ()
47 {
48 test (a0, 0, 1, 2, 3, 4, 5, 6);
49 return 0;
50 }