2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.dg / compat / fp-struct-test-by-value-x.h
blob876f1b3556cee0847fa09daede4034ff20ee1111
1 #define TEST(TYPE,MTYPE) \
2 TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE; \
3 TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE; \
4 TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE; \
5 TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE; \
7 extern void init##TYPE (TYPE *p, MTYPE x); \
8 extern void checkg##TYPE (void); \
9 extern void \
10 test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \
11 TYPE s5, TYPE s6, TYPE s7, TYPE s8, \
12 TYPE s9, TYPE s10, TYPE s11, TYPE s12, \
13 TYPE s13, TYPE s14, TYPE s15, TYPE s16); \
14 extern void testva##TYPE (int n, ...); \
16 void \
17 test2_##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4, \
18 TYPE s5, TYPE s6, TYPE s7, TYPE s8) \
19 { \
20 test##TYPE (s1, g2s##TYPE, s2, g4s##TYPE, \
21 s3, g6s##TYPE, s4, g8s##TYPE, \
22 s5, g10s##TYPE, s6, g12s##TYPE, \
23 s7, g14s##TYPE, s8, g16s##TYPE); \
24 } \
26 void \
27 testit##TYPE (void) \
28 { \
29 DEBUG_FPUTS (#TYPE); \
30 DEBUG_FPUTS (" init: "); \
31 init##TYPE ( &g1s##TYPE, (MTYPE)1); \
32 init##TYPE ( &g2s##TYPE, (MTYPE)2); \
33 init##TYPE ( &g3s##TYPE, (MTYPE)3); \
34 init##TYPE ( &g4s##TYPE, (MTYPE)4); \
35 init##TYPE ( &g5s##TYPE, (MTYPE)5); \
36 init##TYPE ( &g6s##TYPE, (MTYPE)6); \
37 init##TYPE ( &g7s##TYPE, (MTYPE)7); \
38 init##TYPE ( &g8s##TYPE, (MTYPE)8); \
39 init##TYPE ( &g9s##TYPE, (MTYPE)9); \
40 init##TYPE (&g10s##TYPE, (MTYPE)10); \
41 init##TYPE (&g11s##TYPE, (MTYPE)11); \
42 init##TYPE (&g12s##TYPE, (MTYPE)12); \
43 init##TYPE (&g13s##TYPE, (MTYPE)13); \
44 init##TYPE (&g14s##TYPE, (MTYPE)14); \
45 init##TYPE (&g15s##TYPE, (MTYPE)15); \
46 init##TYPE (&g16s##TYPE, (MTYPE)16); \
47 checkg##TYPE (); \
48 DEBUG_NL; \
49 DEBUG_FPUTS (#TYPE); \
50 DEBUG_FPUTS (" test: "); \
51 test##TYPE (g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
52 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
53 g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \
54 g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \
55 DEBUG_NL; \
56 DEBUG_FPUTS (#TYPE); \
57 DEBUG_FPUTS (" testva:"); \
58 DEBUG_NL; \
59 testva##TYPE (1, \
60 g1s##TYPE); \
61 DEBUG_NL; \
62 testva##TYPE (2, \
63 g1s##TYPE, g2s##TYPE); \
64 DEBUG_NL; \
65 testva##TYPE (3, \
66 g1s##TYPE, g2s##TYPE, g3s##TYPE); \
67 DEBUG_NL; \
68 testva##TYPE (4, \
69 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE); \
70 DEBUG_NL; \
71 testva##TYPE (5, \
72 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
73 g5s##TYPE); \
74 DEBUG_NL; \
75 testva##TYPE (6, \
76 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
77 g5s##TYPE, g6s##TYPE); \
78 DEBUG_NL; \
79 testva##TYPE (7, \
80 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
81 g5s##TYPE, g6s##TYPE, g7s##TYPE); \
82 DEBUG_NL; \
83 testva##TYPE (8, \
84 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
85 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE); \
86 DEBUG_NL; \
87 testva##TYPE (9, \
88 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
89 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
90 g9s##TYPE); \
91 DEBUG_NL; \
92 testva##TYPE (10, \
93 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
94 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
95 g9s##TYPE, g10s##TYPE); \
96 DEBUG_NL; \
97 testva##TYPE (11, \
98 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
99 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
100 g9s##TYPE, g10s##TYPE, g11s##TYPE); \
101 DEBUG_NL; \
102 testva##TYPE (12, \
103 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
104 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
105 g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE); \
106 DEBUG_NL; \
107 testva##TYPE (13, \
108 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
109 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
110 g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \
111 g13s##TYPE); \
112 DEBUG_NL; \
113 testva##TYPE (14, \
114 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
115 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
116 g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \
117 g13s##TYPE, g14s##TYPE); \
118 DEBUG_NL; \
119 testva##TYPE (15, \
120 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
121 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
122 g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \
123 g13s##TYPE, g14s##TYPE, g15s##TYPE); \
124 DEBUG_NL; \
125 testva##TYPE (16, \
126 g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE, \
127 g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE, \
128 g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE, \
129 g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \
130 DEBUG_NL; \
131 DEBUG_FPUTS (#TYPE); \
132 DEBUG_FPUTS (" test2: "); \
133 test2_##TYPE (g1s##TYPE, g3s##TYPE, g5s##TYPE, g7s##TYPE, \
134 g9s##TYPE, g11s##TYPE, g13s##TYPE, g15s##TYPE); \
135 DEBUG_NL; \