]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/compat/scalar-by-value-y.h
filter2_x.C: Declare abort.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / compat / scalar-by-value-y.h
1 extern void abort (void);
2
3 #ifdef __GNUC__
4 #define va_list __builtin_va_list
5 #define va_start __builtin_va_start
6 #define va_arg __builtin_va_arg
7 #define va_end __builtin_va_end
8 #else
9 #include <stdarg.h>
10 #endif
11
12 #if USE_MEMCMP
13 /* For comparing vectors. */
14 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
15 void NAME##_f0 (TYPE a, PADT b) \
16 { \
17 if (memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
18 abort (); \
19 } \
20 \
21 void NAME##_f1 (PADT z0, TYPE a, PADT b) \
22 { \
23 if (z0 != (PADT) 0 \
24 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
25 abort (); \
26 } \
27 \
28 void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b) \
29 { \
30 if (z0 != (PADT) 0 \
31 || z1 != (PADT) 0 \
32 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
33 abort (); \
34 } \
35 \
36 void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b) \
37 { \
38 if (z0 != (PADT) 0 \
39 || z1 != (PADT) 0 \
40 || z2 != (PADT) 0 \
41 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
42 abort (); \
43 } \
44 \
45 void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, PADT b) \
46 { \
47 if (z0 != (PADT) 0 \
48 || z1 != (PADT) 0 \
49 || z2 != (PADT) 0 \
50 || z3 != (PADT) 0 \
51 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
52 abort (); \
53 } \
54 \
55 void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, TYPE a, \
56 PADT b) \
57 { \
58 if (z0 != (PADT) 0 \
59 || z1 != (PADT) 0 \
60 || z2 != (PADT) 0 \
61 || z3 != (PADT) 0 \
62 || z4 != (PADT) 0 \
63 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
64 abort (); \
65 } \
66 \
67 void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
68 TYPE a, PADT b) \
69 { \
70 if (z0 != (PADT) 0 \
71 || z1 != (PADT) 0 \
72 || z2 != (PADT) 0 \
73 || z3 != (PADT) 0 \
74 || z4 != (PADT) 0 \
75 || z5 != (PADT) 0 \
76 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
77 abort (); \
78 } \
79 \
80 void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
81 PADT z6, TYPE a, PADT b) \
82 { \
83 if (z0 != (PADT) 0 \
84 || z1 != (PADT) 0 \
85 || z2 != (PADT) 0 \
86 || z3 != (PADT) 0 \
87 || z4 != (PADT) 0 \
88 || z5 != (PADT) 0 \
89 || z6 != (PADT) 0 \
90 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
91 abort (); \
92 } \
93 \
94 void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
95 PADT z6, PADT z7, TYPE a, PADT b) \
96 { \
97 if (z0 != (PADT) 0 \
98 || z1 != (PADT) 0 \
99 || z2 != (PADT) 0 \
100 || z3 != (PADT) 0 \
101 || z4 != (PADT) 0 \
102 || z5 != (PADT) 0 \
103 || z6 != (PADT) 0 \
104 || z7 != (PADT) 0 \
105 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
106 abort (); \
107 } \
108 \
109 void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
110 PADT z6, PADT z7, PADT z8, TYPE a, PADT b) \
111 { \
112 if (z0 != (PADT) 0 \
113 || z1 != (PADT) 0 \
114 || z2 != (PADT) 0 \
115 || z3 != (PADT) 0 \
116 || z4 != (PADT) 0 \
117 || z5 != (PADT) 0 \
118 || z6 != (PADT) 0 \
119 || z7 != (PADT) 0 \
120 || z8 != (PADT) 0 \
121 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
122 abort (); \
123 } \
124 \
125 void NAME##_fv (int n, ...) \
126 { \
127 va_list ap; \
128 TYPE x; \
129 va_start (ap, n); \
130 \
131 while (n-- != 0) \
132 if (va_arg (ap, PADT) != (PADT) 0) \
133 abort (); \
134 \
135 x = va_arg (ap, TYPE); \
136 if (memcmp (&x, &VAL, sizeof (x)) != 0 ) \
137 abort (); \
138 \
139 if (va_arg (ap, PADT) != VAL2) \
140 abort (); \
141 \
142 va_end (ap); \
143 }
144
145 #else
146
147 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
148 void NAME##_f0 (TYPE a, PADT b) \
149 { \
150 if (a != VAL || b != VAL2) \
151 abort (); \
152 } \
153 \
154 void NAME##_f1 (PADT z0, TYPE a, PADT b) \
155 { \
156 if (z0 != (PADT) 0 \
157 || a != VAL || b != VAL2) \
158 abort (); \
159 } \
160 \
161 void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b) \
162 { \
163 if (z0 != (PADT) 0 \
164 || z1 != (PADT) 0 \
165 || a != VAL || b != VAL2) \
166 abort (); \
167 } \
168 \
169 void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b) \
170 { \
171 if (z0 != (PADT) 0 \
172 || z1 != (PADT) 0 \
173 || z2 != (PADT) 0 \
174 || a != VAL || b != VAL2) \
175 abort (); \
176 } \
177 \
178 void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, PADT b) \
179 { \
180 if (z0 != (PADT) 0 \
181 || z1 != (PADT) 0 \
182 || z2 != (PADT) 0 \
183 || z3 != (PADT) 0 \
184 || a != VAL || b != VAL2) \
185 abort (); \
186 } \
187 \
188 void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, TYPE a, \
189 PADT b) \
190 { \
191 if (z0 != (PADT) 0 \
192 || z1 != (PADT) 0 \
193 || z2 != (PADT) 0 \
194 || z3 != (PADT) 0 \
195 || z4 != (PADT) 0 \
196 || a != VAL || b != VAL2) \
197 abort (); \
198 } \
199 \
200 void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
201 TYPE a, PADT b) \
202 { \
203 if (z0 != (PADT) 0 \
204 || z1 != (PADT) 0 \
205 || z2 != (PADT) 0 \
206 || z3 != (PADT) 0 \
207 || z4 != (PADT) 0 \
208 || z5 != (PADT) 0 \
209 || a != VAL || b != VAL2) \
210 abort (); \
211 } \
212 \
213 void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
214 PADT z6, TYPE a, PADT b) \
215 { \
216 if (z0 != (PADT) 0 \
217 || z1 != (PADT) 0 \
218 || z2 != (PADT) 0 \
219 || z3 != (PADT) 0 \
220 || z4 != (PADT) 0 \
221 || z5 != (PADT) 0 \
222 || z6 != (PADT) 0 \
223 || a != VAL || b != VAL2) \
224 abort (); \
225 } \
226 \
227 void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
228 PADT z6, PADT z7, TYPE a, PADT b) \
229 { \
230 if (z0 != (PADT) 0 \
231 || z1 != (PADT) 0 \
232 || z2 != (PADT) 0 \
233 || z3 != (PADT) 0 \
234 || z4 != (PADT) 0 \
235 || z5 != (PADT) 0 \
236 || z6 != (PADT) 0 \
237 || z7 != (PADT) 0 \
238 || a != VAL || b != VAL2) \
239 abort (); \
240 } \
241 \
242 void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
243 PADT z6, PADT z7, PADT z8, TYPE a, PADT b) \
244 { \
245 if (z0 != (PADT) 0 \
246 || z1 != (PADT) 0 \
247 || z2 != (PADT) 0 \
248 || z3 != (PADT) 0 \
249 || z4 != (PADT) 0 \
250 || z5 != (PADT) 0 \
251 || z6 != (PADT) 0 \
252 || z7 != (PADT) 0 \
253 || z8 != (PADT) 0 \
254 || a != VAL || b != VAL2) \
255 abort (); \
256 } \
257 \
258 void NAME##_fv (int n, ...) \
259 { \
260 va_list ap; \
261 \
262 va_start (ap, n); \
263 \
264 while (n-- != 0) \
265 if (va_arg (ap, PADT) != (PADT) 0) \
266 abort (); \
267 \
268 if (va_arg (ap, TYPE) != VAL) \
269 abort (); \
270 \
271 if (va_arg (ap, PADT) != VAL2) \
272 abort (); \
273 \
274 va_end (ap); \
275 }
276
277 #endif