LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / compat / scalar-by-value-x.h
blobf0ac216ad549b2d4f0a973920a7bcf526029ac09
1 #if DEBUG
2 #include <stdio.h>
3 #define DBG(x) fputs (x, stdout); fflush (stdout);
4 #else
5 #define DBG(x)
6 #endif
8 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
9 extern void NAME##_f0 (TYPE a, PADT b); \
10 extern void NAME##_f1 (PADT z0, TYPE a, PADT b); \
11 extern void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b); \
12 extern void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b); \
13 extern void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, \
14 PADT b); \
15 extern void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
16 TYPE a, PADT b); \
17 extern void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
18 PADT z5, TYPE a, PADT b); \
19 extern void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
20 PADT z5, PADT z6, TYPE a, PADT b); \
21 extern void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
22 PADT z5, PADT z6, PADT z7, TYPE a, PADT b); \
23 extern void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, \
24 PADT z5, PADT z6, PADT z7, PADT z8, TYPE a, \
25 PADT b); \
26 extern void NAME##_fv (int n, ...); \
28 void NAME##_doit (void) \
29 { \
30 NAME##_f0 (VAL, VAL2); \
31 DBG ("."); \
32 NAME##_f1 ((PADT) 0, VAL, VAL2); \
33 DBG ("."); \
34 NAME##_f2 ((PADT) 0, (PADT) 0, VAL, VAL2); \
35 DBG ("."); \
36 NAME##_f3 ((PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
37 DBG ("."); \
38 NAME##_f4 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
39 DBG ("."); \
40 NAME##_f5 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
41 VAL, VAL2); \
42 DBG ("."); \
43 NAME##_f6 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
44 (PADT) 0, VAL, VAL2); \
45 DBG ("."); \
46 NAME##_f7 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
47 (PADT) 0, (PADT) 0, VAL, VAL2); \
48 DBG ("."); \
49 NAME##_f8 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
50 (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
51 DBG ("."); \
52 NAME##_f9 ((PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
53 (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
54 DBG ("."); \
55 NAME##_fv (0, VAL, VAL2); \
56 DBG ("."); \
57 NAME##_fv (1, (PADT) 0, VAL, VAL2); \
58 DBG ("."); \
59 NAME##_fv (2, (PADT) 0, (PADT) 0, VAL, VAL2); \
60 DBG ("."); \
61 NAME##_fv (3, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
62 DBG ("."); \
63 NAME##_fv (4, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
64 DBG ("."); \
65 NAME##_fv (5, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
66 VAL, VAL2); \
67 DBG ("."); \
68 NAME##_fv (6, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
69 (PADT) 0, VAL, VAL2); \
70 DBG ("."); \
71 NAME##_fv (7, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
72 (PADT) 0, (PADT) 0, VAL, VAL2); \
73 DBG ("."); \
74 NAME##_fv (8, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, (PADT) 0, \
75 (PADT) 0, (PADT) 0, (PADT) 0, VAL, VAL2); \
76 DBG ("\n"); \