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 385