Implement C _FloatN, _FloatNx types.
[official-gcc.git] / gcc / testsuite / gcc.dg / cpp / assert4.c
blob92e3dba5ce6ca58105aee20e7f220d32cdb90bcc
1 /* Copyright (C) 2003, 2006, 2008, 2009, 2011, 2012
2 Free Software Foundation, Inc.
4 Test builtin preprocessor assertions.
5 By Kaveh Ghazi <ghazi@caip.rutgers.edu>. */
7 /* { dg-do preprocess } */
8 /* { dg-options "-ansi -Wno-deprecated" } */
10 /* Check for #system assertions. */
12 #if defined __linux__
13 # if !#system(linux) || !#system(unix) || !#system(posix)
14 # error
15 # endif
16 #elif #system(linux)
17 # error
18 #endif
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
28 #if defined __FreeBSD__
29 # if !#system(FreeBSD) || !#system(unix) || !#system(bsd)
30 # error
31 # endif
32 #elif #system(FreeBSD)
33 # error
34 #endif
36 #if defined __NetBSD__
37 # if !#system(NetBSD) || !#system(unix) || !#system(bsd)
38 # error
39 # endif
40 #elif #system(NetBSD)
41 # error
42 #endif
44 #if defined __OpenBSD__
45 # if !#system(OpenBSD) || !#system(unix) || !#system(bsd)
46 # error
47 # endif
48 #elif #system(OpenBSD)
49 # error
50 #endif
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
60 #if defined __hpux__
61 # if !#system(hpux) || !#system(unix)
62 # error
63 # endif
64 #elif #system(hpux)
65 # error
66 #endif
68 #if defined _AIX
69 # if !#system(aix) || !#system(unix)
70 # error
71 # endif
72 #elif #system(aix)
73 # error
74 #endif
76 #if defined __lynx__
77 # if !#system(lynx) || !#system(unix)
78 # error
79 # endif
80 #elif #system(lynx)
81 # error
82 #endif
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
93 #if defined __rtems__
94 # if !#system(rtems)
95 # error
96 # endif
97 #elif #system(rtems)
98 # error
99 #endif
101 #if defined __vms__
102 # if !#system(vms)
103 # error
104 # endif
105 #elif #system(vms)
106 # error
107 #endif
109 #if defined __mvs__
110 # if !#system(mvs)
111 # error
112 # endif
113 #elif #system(mvs)
114 # error
115 #endif
117 #if defined __MSDOS__
118 # if !#system(msdos)
119 # error
120 # endif
121 #elif #system(msdos)
122 # error
123 #endif
125 #if defined __WINNT__ || defined __CYGWIN__
126 # if !#system(winnt)
127 # error
128 # endif
129 #elif #system(winnt)
130 # error
131 #endif
134 /* Check for #cpu and #machine assertions. */
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
159 #if defined __arm__
160 # if !#cpu(arm) || !#machine(arm)
161 # error
162 # endif
163 #elif #cpu(arm) || #machine(arm)
164 # error
165 #endif
167 #if defined __cris__
168 # if !#cpu(cris) || !#machine(cris)
169 # error
170 # endif
171 #elif #cpu(cris) || #machine(cris)
172 # error
173 #endif
175 #if defined __fr30__
176 # if !#cpu(fr30) || !#machine(fr30)
177 # error
178 # endif
179 #elif #cpu(fr30) || #machine(fr30)
180 # error
181 #endif
183 #if defined __frv__
184 # if !#cpu(frv) || !#machine(frv)
185 # error
186 # endif
187 #elif #cpu(frv) || #machine(frv)
188 # error
189 #endif
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
205 #if defined __hppa__
206 # if !#cpu(hppa) || !#machine(hppa)
207 # error
208 # endif
209 #elif #cpu(hppa) || #machine(hppa)
210 # error
211 #endif
213 #if defined __i370__
214 # if !#cpu(i370) || !#machine(i370)
215 # error
216 # endif
217 #elif #cpu(i370) || #machine(i370)
218 # error
219 #endif
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
229 #if defined __i386__
230 # if !#cpu(i386) || !#machine(i386)
231 # error
232 # endif
233 #elif #cpu(i386) || #machine(i386)
234 # error
235 #endif
237 #if defined __ia64__
238 # if !#cpu(ia64) || !#machine(ia64)
239 # error
240 # endif
241 #elif #cpu(ia64) || #machine(ia64)
242 # error
243 #endif
245 #if defined __iq2000__
246 # if !#cpu(iq2000) || !#machine(iq2000)
247 # error
248 # endif
249 #elif #cpu(iq2000) || #machine(iq2000)
250 # error
251 #endif
253 #if defined __M32R__
254 # if !#cpu(m32r) || !#machine(m32r)
255 # error
256 # endif
257 #elif #cpu(m32r) || #machine(m32r)
258 # error
259 #endif
261 #if defined __m68k__
262 # if !#cpu(m68k) || !#machine(m68k)
263 # error
264 # endif
265 #elif #cpu(m68k) || #machine(m68k)
266 # error
267 #endif
269 #if defined __mcore__
270 # if !#cpu(mcore) || !#machine(mcore)
271 # error
272 # endif
273 #elif #cpu(mcore) || #machine(mcore)
274 # error
275 #endif
277 #if defined __mips__
278 # if !#cpu(mips)
279 # error
280 # endif
281 #elif #cpu(mips) || #machine(mips)
282 # error
283 #endif
285 #if defined __mn10300__
286 # if !#cpu(mn10300) || !#machine(mn10300)
287 # error
288 # endif
289 #elif #cpu(mn10300) || #machine(mn10300)
290 # error
291 #endif
293 #if defined __pdp11__
294 # if !#cpu(pdp11) || !#machine(pdp11)
295 # error
296 # endif
297 #elif #cpu(pdp11) || #machine(pdp11)
298 # error
299 #endif
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
318 #if defined __rs6000__
319 # if !#cpu(rs6000) || !#machine(rs6000)
320 # error
321 # endif
322 #elif #cpu(rs6000) || #machine(rs6000)
323 # error
324 #endif
326 #if defined __s390__
327 # if !#cpu(s390) || !#machine(s390)
328 # error
329 # endif
330 #elif #cpu(s390) || #machine(s390)
331 # error
332 #endif
334 #if defined __sh__
335 # if !#cpu(sh) || !#machine(sh)
336 # error
337 # endif
338 #elif #cpu(sh) || #machine(sh)
339 # error
340 #endif
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
353 #if defined __xstormy16__
354 # if !#cpu(xstormy16) || !#machine(xstormy16)
355 # error
356 # endif
357 #elif #cpu(xstormy16) || #machine(xstormy16)
358 # error
359 #endif
361 #if defined __v850__
362 # if !#cpu(v850) || !#machine(v850)
363 # error
364 # endif
365 #elif #cpu(v850) || #machine(v850)
366 # error
367 #endif
369 #if defined __vax__
370 # if !#cpu(vax) || !#machine(vax)
371 # error
372 # endif
373 #elif #cpu(vax) || #machine(vax)
374 # error
375 #endif
377 #if defined __XTENSA__
378 # if !#cpu(xtensa) || !#machine(xtensa)
379 # error
380 # endif
381 #elif #cpu(xtensa) || #machine(xtensa)
382 # error
383 #endif