IVOPT performance tuning patch. The main problem is a variant of maximal weight
[official-gcc.git] / gcc / testsuite / gcc.dg / compat / struct-by-value-22_y.c
blobea5dec2268ea5d33377699abbfe07722ad3424ec
1 #include <stdarg.h>
2 #include "compat-common.h"
3 #include "mixed-struct-defs.h"
4 #include "mixed-struct-check.h"
6 #ifdef SKIP_VA
7 const int test_va = 0;
8 #else
9 const int test_va = 1;
10 #endif
12 #ifndef SKIP_VLA_IN_STRUCT
13 #define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST) \
14 void \
15 testva##NAME (int n, ...) \
16 { \
17 va_list ap; \
18 if (test_va) \
19 { \
20 struct S { FIELDS TYPE a[n]; } s; \
21 int fail = 0, i, j; \
23 va_start (ap, n); \
24 for (j = 0; j < 2; ++j) \
25 { \
26 s = va_arg (ap, struct S); \
27 for (i = 0; i < n; ++i) \
28 if (s.a[i] != 12 + n - i) \
29 ++fail; \
30 if (fail) \
31 { DEBUG_FAIL; } \
32 if (!j && va_arg (ap, int) != n) \
33 { DEBUG_FAIL; } \
34 FIELDTEST; \
35 } \
36 va_end (ap); \
37 } \
40 #include "struct-by-value-22_x.c"
41 #endif