111
|
1 /* Copyright (C) 2003, 2006, 2008, 2009, 2011, 2012
|
|
2 Free Software Foundation, Inc.
|
|
3
|
|
4 Test builtin preprocessor assertions.
|
|
5 By Kaveh Ghazi <ghazi@caip.rutgers.edu>. */
|
|
6
|
|
7 /* { dg-do preprocess } */
|
|
8 /* { dg-options "-ansi -Wno-deprecated" } */
|
|
9
|
|
10 /* Check for #system assertions. */
|
|
11
|
|
12 #if defined __linux__
|
|
13 # if !#system(linux) || !#system(unix) || !#system(posix)
|
|
14 # error
|
|
15 # endif
|
|
16 #elif #system(linux)
|
|
17 # error
|
|
18 #endif
|
|
19
|
|
20 #if defined __gnu_hurd__
|
|
21 # if !#system(gnu) || !#system(unix) || !#system(posix) || !#system(mach)
|
|
22 # error
|
|
23 # endif
|
|
24 #elif #system(gnu)
|
|
25 # error
|
|
26 #endif
|
|
27
|
|
28 #if defined __FreeBSD__
|
|
29 # if !#system(FreeBSD) || !#system(unix) || !#system(bsd)
|
|
30 # error
|
|
31 # endif
|
|
32 #elif #system(FreeBSD)
|
|
33 # error
|
|
34 #endif
|
|
35
|
|
36 #if defined __NetBSD__
|
|
37 # if !#system(NetBSD) || !#system(unix) || !#system(bsd)
|
|
38 # error
|
|
39 # endif
|
|
40 #elif #system(NetBSD)
|
|
41 # error
|
|
42 #endif
|
|
43
|
|
44 #if defined __OpenBSD__
|
|
45 # if !#system(OpenBSD) || !#system(unix) || !#system(bsd)
|
|
46 # error
|
|
47 # endif
|
|
48 #elif #system(OpenBSD)
|
|
49 # error
|
|
50 #endif
|
|
51
|
|
52 #if defined __svr4__ || defined __SYSTYPE_SVR4__
|
|
53 # if !#system(svr4) || !#system(unix)
|
|
54 # error
|
|
55 # endif
|
|
56 #elif #system(svr4)
|
|
57 # error
|
|
58 #endif
|
|
59
|
|
60 #if defined __hpux__
|
|
61 # if !#system(hpux) || !#system(unix)
|
|
62 # error
|
|
63 # endif
|
|
64 #elif #system(hpux)
|
|
65 # error
|
|
66 #endif
|
|
67
|
|
68 #if defined _AIX
|
|
69 # if !#system(aix) || !#system(unix)
|
|
70 # error
|
|
71 # endif
|
|
72 #elif #system(aix)
|
|
73 # error
|
|
74 #endif
|
|
75
|
|
76 #if defined __lynx__
|
|
77 # if !#system(lynx) || !#system(unix)
|
|
78 # error
|
|
79 # endif
|
|
80 #elif #system(lynx)
|
|
81 # error
|
|
82 #endif
|
|
83
|
|
84 #if ( defined __unix__ && !defined __CYGWIN__ ) || defined _AIX \
|
|
85 || defined __vxworks
|
|
86 # if !#system(unix)
|
|
87 # error
|
|
88 # endif
|
|
89 #elif #system(unix)
|
|
90 # error
|
|
91 #endif
|
|
92
|
|
93 #if defined __rtems__
|
|
94 # if !#system(rtems)
|
|
95 # error
|
|
96 # endif
|
|
97 #elif #system(rtems)
|
|
98 # error
|
|
99 #endif
|
|
100
|
|
101 #if defined __vms__
|
|
102 # if !#system(vms)
|
|
103 # error
|
|
104 # endif
|
|
105 #elif #system(vms)
|
|
106 # error
|
|
107 #endif
|
|
108
|
|
109 #if defined __mvs__
|
|
110 # if !#system(mvs)
|
|
111 # error
|
|
112 # endif
|
|
113 #elif #system(mvs)
|
|
114 # error
|
|
115 #endif
|
|
116
|
|
117 #if defined __MSDOS__
|
|
118 # if !#system(msdos)
|
|
119 # error
|
|
120 # endif
|
|
121 #elif #system(msdos)
|
|
122 # error
|
|
123 #endif
|
|
124
|
|
125 #if defined __WINNT__ || defined __CYGWIN__
|
|
126 # if !#system(winnt)
|
|
127 # error
|
|
128 # endif
|
|
129 #elif #system(winnt)
|
|
130 # error
|
|
131 #endif
|
|
132
|
|
133
|
|
134 /* Check for #cpu and #machine assertions. */
|
|
135
|
|
136 #if defined __alpha__
|
|
137 # if !#cpu(alpha) || !#machine(alpha) \
|
|
138 || (defined __alpha_cix__ && !#cpu(cix)) \
|
|
139 || (!defined __alpha_cix__ && #cpu(cix)) \
|
|
140 || (defined __alpha_fix__ && !#cpu(fix)) \
|
|
141 || (!defined __alpha_fix__ && #cpu(fix)) \
|
|
142 || (defined __alpha_bwx__ && !#cpu(bwx)) \
|
|
143 || (!defined __alpha_bwx__ && #cpu(bwx)) \
|
|
144 || (defined __alpha_max__ && !#cpu(max)) \
|
|
145 || (!defined __alpha_max__ && #cpu(max)) \
|
|
146 || (defined __alpha_ev6__ && !#cpu(ev6)) \
|
|
147 || (!defined __alpha_ev6__ && #cpu(ev6)) \
|
|
148 || (defined __alpha_ev5__ && !#cpu(ev5)) \
|
|
149 || (!defined __alpha_ev5__ && #cpu(ev5)) \
|
|
150 || (defined __alpha_ev4__ && !#cpu(ev4)) \
|
|
151 || (!defined __alpha_ev4__ && #cpu(ev4))
|
|
152 # error
|
|
153 # endif
|
|
154 #elif #cpu(alpha) || #machine(alpha) || #cpu(cix) || #cpu(fix) || #cpu(bwx) \
|
|
155 || #cpu(max) || #cpu(ev6) || #cpu(ev5) || #cpu(ev4)
|
|
156 # error
|
|
157 #endif
|
|
158
|
|
159 #if defined __arm__
|
|
160 # if !#cpu(arm) || !#machine(arm)
|
|
161 # error
|
|
162 # endif
|
|
163 #elif #cpu(arm) || #machine(arm)
|
|
164 # error
|
|
165 #endif
|
|
166
|
|
167 #if defined __cris__
|
|
168 # if !#cpu(cris) || !#machine(cris)
|
|
169 # error
|
|
170 # endif
|
|
171 #elif #cpu(cris) || #machine(cris)
|
|
172 # error
|
|
173 #endif
|
|
174
|
|
175 #if defined __fr30__
|
|
176 # if !#cpu(fr30) || !#machine(fr30)
|
|
177 # error
|
|
178 # endif
|
|
179 #elif #cpu(fr30) || #machine(fr30)
|
|
180 # error
|
|
181 #endif
|
|
182
|
|
183 #if defined __frv__
|
|
184 # if !#cpu(frv) || !#machine(frv)
|
|
185 # error
|
|
186 # endif
|
|
187 #elif #cpu(frv) || #machine(frv)
|
|
188 # error
|
|
189 #endif
|
|
190
|
|
191 #if defined __H8300__
|
|
192 # if !#cpu(h8300) || !#machine(h8300) \
|
|
193 || (defined __H8300__ && (!#cpu(h8300) || !#machine(h8300))) \
|
|
194 || (defined __H8300H__ && (!#cpu(h8300h) || !#machine(h8300h))) \
|
|
195 || (!defined __H8300H__ && (#cpu(h8300h) || #machine(h8300h))) \
|
|
196 || (defined __H8300S__ && (!#cpu(h8300s) || !#machine(h8300s))) \
|
|
197 || (!defined __H8300S__ && (#cpu(h8300s) || #machine(h8300s)))
|
|
198 # error
|
|
199 # endif
|
|
200 #elif #cpu(h8300) || #machine(h8300) || #cpu(h8300h) || #machine(h8300h) || \
|
|
201 #cpu(h8300s) || #machine(h8300s)
|
|
202 # error
|
|
203 #endif
|
|
204
|
|
205 #if defined __hppa__
|
|
206 # if !#cpu(hppa) || !#machine(hppa)
|
|
207 # error
|
|
208 # endif
|
|
209 #elif #cpu(hppa) || #machine(hppa)
|
|
210 # error
|
|
211 #endif
|
|
212
|
|
213 #if defined __i370__
|
|
214 # if !#cpu(i370) || !#machine(i370)
|
|
215 # error
|
|
216 # endif
|
|
217 #elif #cpu(i370) || #machine(i370)
|
|
218 # error
|
|
219 #endif
|
|
220
|
|
221 #if defined __x86_64__
|
|
222 # if !#cpu(x86_64) || !#machine(x86_64)
|
|
223 # error
|
|
224 # endif
|
|
225 #elif #cpu(x86_64) || #machine(x86_64)
|
|
226 # error
|
|
227 #endif
|
|
228
|
|
229 #if defined __i386__
|
|
230 # if !#cpu(i386) || !#machine(i386)
|
|
231 # error
|
|
232 # endif
|
|
233 #elif #cpu(i386) || #machine(i386)
|
|
234 # error
|
|
235 #endif
|
|
236
|
|
237 #if defined __ia64__
|
|
238 # if !#cpu(ia64) || !#machine(ia64)
|
|
239 # error
|
|
240 # endif
|
|
241 #elif #cpu(ia64) || #machine(ia64)
|
|
242 # error
|
|
243 #endif
|
|
244
|
|
245 #if defined __iq2000__
|
|
246 # if !#cpu(iq2000) || !#machine(iq2000)
|
|
247 # error
|
|
248 # endif
|
|
249 #elif #cpu(iq2000) || #machine(iq2000)
|
|
250 # error
|
|
251 #endif
|
|
252
|
|
253 #if defined __M32R__
|
|
254 # if !#cpu(m32r) || !#machine(m32r)
|
|
255 # error
|
|
256 # endif
|
|
257 #elif #cpu(m32r) || #machine(m32r)
|
|
258 # error
|
|
259 #endif
|
|
260
|
|
261 #if defined __m68k__
|
|
262 # if !#cpu(m68k) || !#machine(m68k)
|
|
263 # error
|
|
264 # endif
|
|
265 #elif #cpu(m68k) || #machine(m68k)
|
|
266 # error
|
|
267 #endif
|
|
268
|
|
269 #if defined __mcore__
|
|
270 # if !#cpu(mcore) || !#machine(mcore)
|
|
271 # error
|
|
272 # endif
|
|
273 #elif #cpu(mcore) || #machine(mcore)
|
|
274 # error
|
|
275 #endif
|
|
276
|
|
277 #if defined __mips__
|
|
278 # if !#cpu(mips)
|
|
279 # error
|
|
280 # endif
|
|
281 #elif #cpu(mips) || #machine(mips)
|
|
282 # error
|
|
283 #endif
|
|
284
|
|
285 #if defined __mn10300__
|
|
286 # if !#cpu(mn10300) || !#machine(mn10300)
|
|
287 # error
|
|
288 # endif
|
|
289 #elif #cpu(mn10300) || #machine(mn10300)
|
|
290 # error
|
|
291 #endif
|
|
292
|
|
293 #if defined __pdp11__
|
|
294 # if !#cpu(pdp11) || !#machine(pdp11)
|
|
295 # error
|
|
296 # endif
|
|
297 #elif #cpu(pdp11) || #machine(pdp11)
|
|
298 # error
|
|
299 #endif
|
|
300
|
|
301 #if defined __powerpc__ || defined __PPC__
|
|
302 # if defined __powerpc64__
|
|
303 # if (#cpu(powerpc) || #machine(powerpc) \
|
|
304 || !#cpu(powerpc64) || !#machine(powerpc64))
|
|
305 # error
|
|
306 # endif
|
|
307 # else
|
|
308 # if (!#cpu(powerpc) || !#machine(powerpc) \
|
|
309 || #cpu(powerpc64) || #machine(powerpc64))
|
|
310 # error
|
|
311 # endif
|
|
312 # endif
|
|
313 #elif (#cpu(powerpc) || #machine(powerpc) \
|
|
314 || #cpu(powerpc64) || #machine(powerpc64))
|
|
315 # error
|
|
316 #endif
|
|
317
|
|
318 #if defined __rs6000__
|
|
319 # if !#cpu(rs6000) || !#machine(rs6000)
|
|
320 # error
|
|
321 # endif
|
|
322 #elif #cpu(rs6000) || #machine(rs6000)
|
|
323 # error
|
|
324 #endif
|
|
325
|
|
326 #if defined __s390__
|
|
327 # if !#cpu(s390) || !#machine(s390)
|
|
328 # error
|
|
329 # endif
|
|
330 #elif #cpu(s390) || #machine(s390)
|
|
331 # error
|
|
332 #endif
|
|
333
|
|
334 #if defined __sh__
|
|
335 # if !#cpu(sh) || !#machine(sh)
|
|
336 # error
|
|
337 # endif
|
|
338 #elif #cpu(sh) || #machine(sh)
|
|
339 # error
|
|
340 #endif
|
|
341
|
|
342 #if defined __sparc__
|
|
343 # if (defined __arch64__ \
|
|
344 && (!#cpu(sparc64) || !#machine(sparc64) || #cpu(sparc) || #machine(sparc)))
|
|
345 || (!defined __arch64__ \
|
|
346 && (#cpu(sparc64) || #machine(sparc64) || !#cpu(sparc) || !#machine(sparc)))
|
|
347 # error
|
|
348 # endif
|
|
349 #elif #cpu(sparc64) || #machine(sparc64) || #cpu(sparc) || #machine(sparc)
|
|
350 # error
|
|
351 #endif
|
|
352
|
|
353 #if defined __xstormy16__
|
|
354 # if !#cpu(xstormy16) || !#machine(xstormy16)
|
|
355 # error
|
|
356 # endif
|
|
357 #elif #cpu(xstormy16) || #machine(xstormy16)
|
|
358 # error
|
|
359 #endif
|
|
360
|
|
361 #if defined __v850__
|
|
362 # if !#cpu(v850) || !#machine(v850)
|
|
363 # error
|
|
364 # endif
|
|
365 #elif #cpu(v850) || #machine(v850)
|
|
366 # error
|
|
367 #endif
|
|
368
|
|
369 #if defined __vax__
|
|
370 # if !#cpu(vax) || !#machine(vax)
|
|
371 # error
|
|
372 # endif
|
|
373 #elif #cpu(vax) || #machine(vax)
|
|
374 # error
|
|
375 #endif
|
|
376
|
|
377 #if defined __XTENSA__
|
|
378 # if !#cpu(xtensa) || !#machine(xtensa)
|
|
379 # error
|
|
380 # endif
|
|
381 #elif #cpu(xtensa) || #machine(xtensa)
|
|
382 # error
|
|
383 #endif
|
|
384
|