1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2|* *| 3|* List of AST nodes of a particular kind *| 4|* *| 5|* Automatically generated file, do not edit! *| 6|* From: StmtNodes.td *| 7|* *| 8\*===----------------------------------------------------------------------===*/ 9 10#ifndef ABSTRACT_STMT 11# define ABSTRACT_STMT(Type) Type 12#endif 13#ifndef STMT_RANGE 14# define STMT_RANGE(Base, First, Last) 15#endif 16 17#ifndef LAST_STMT_RANGE 18# define LAST_STMT_RANGE(Base, First, Last) STMT_RANGE(Base, First, Last) 19#endif 20 21#ifndef ASMSTMT 22# define ASMSTMT(Type, Base) STMT(Type, Base) 23#endif 24ABSTRACT_STMT(ASMSTMT(AsmStmt, Stmt)) 25#ifndef GCCASMSTMT 26# define GCCASMSTMT(Type, Base) ASMSTMT(Type, Base) 27#endif 28GCCASMSTMT(GCCAsmStmt, AsmStmt) 29#undef GCCASMSTMT 30 31#ifndef MSASMSTMT 32# define MSASMSTMT(Type, Base) ASMSTMT(Type, Base) 33#endif 34MSASMSTMT(MSAsmStmt, AsmStmt) 35#undef MSASMSTMT 36 37STMT_RANGE(AsmStmt, GCCAsmStmt, MSAsmStmt) 38 39#undef ASMSTMT 40 41#ifndef BREAKSTMT 42# define BREAKSTMT(Type, Base) STMT(Type, Base) 43#endif 44BREAKSTMT(BreakStmt, Stmt) 45#undef BREAKSTMT 46 47#ifndef CXXCATCHSTMT 48# define CXXCATCHSTMT(Type, Base) STMT(Type, Base) 49#endif 50CXXCATCHSTMT(CXXCatchStmt, Stmt) 51#undef CXXCATCHSTMT 52 53#ifndef CXXFORRANGESTMT 54# define CXXFORRANGESTMT(Type, Base) STMT(Type, Base) 55#endif 56CXXFORRANGESTMT(CXXForRangeStmt, Stmt) 57#undef CXXFORRANGESTMT 58 59#ifndef CXXTRYSTMT 60# define CXXTRYSTMT(Type, Base) STMT(Type, Base) 61#endif 62CXXTRYSTMT(CXXTryStmt, Stmt) 63#undef CXXTRYSTMT 64 65#ifndef CAPTUREDSTMT 66# define CAPTUREDSTMT(Type, Base) STMT(Type, Base) 67#endif 68CAPTUREDSTMT(CapturedStmt, Stmt) 69#undef CAPTUREDSTMT 70 71#ifndef COMPOUNDSTMT 72# define COMPOUNDSTMT(Type, Base) STMT(Type, Base) 73#endif 74COMPOUNDSTMT(CompoundStmt, Stmt) 75#undef COMPOUNDSTMT 76 77#ifndef CONTINUESTMT 78# define CONTINUESTMT(Type, Base) STMT(Type, Base) 79#endif 80CONTINUESTMT(ContinueStmt, Stmt) 81#undef CONTINUESTMT 82 83#ifndef CORETURNSTMT 84# define CORETURNSTMT(Type, Base) STMT(Type, Base) 85#endif 86CORETURNSTMT(CoreturnStmt, Stmt) 87#undef CORETURNSTMT 88 89#ifndef COROUTINEBODYSTMT 90# define COROUTINEBODYSTMT(Type, Base) STMT(Type, Base) 91#endif 92COROUTINEBODYSTMT(CoroutineBodyStmt, Stmt) 93#undef COROUTINEBODYSTMT 94 95#ifndef DECLSTMT 96# define DECLSTMT(Type, Base) STMT(Type, Base) 97#endif 98DECLSTMT(DeclStmt, Stmt) 99#undef DECLSTMT 100 101#ifndef DOSTMT 102# define DOSTMT(Type, Base) STMT(Type, Base) 103#endif 104DOSTMT(DoStmt, Stmt) 105#undef DOSTMT 106 107#ifndef FORSTMT 108# define FORSTMT(Type, Base) STMT(Type, Base) 109#endif 110FORSTMT(ForStmt, Stmt) 111#undef FORSTMT 112 113#ifndef GOTOSTMT 114# define GOTOSTMT(Type, Base) STMT(Type, Base) 115#endif 116GOTOSTMT(GotoStmt, Stmt) 117#undef GOTOSTMT 118 119#ifndef IFSTMT 120# define IFSTMT(Type, Base) STMT(Type, Base) 121#endif 122IFSTMT(IfStmt, Stmt) 123#undef IFSTMT 124 125#ifndef INDIRECTGOTOSTMT 126# define INDIRECTGOTOSTMT(Type, Base) STMT(Type, Base) 127#endif 128INDIRECTGOTOSTMT(IndirectGotoStmt, Stmt) 129#undef INDIRECTGOTOSTMT 130 131#ifndef MSDEPENDENTEXISTSSTMT 132# define MSDEPENDENTEXISTSSTMT(Type, Base) STMT(Type, Base) 133#endif 134MSDEPENDENTEXISTSSTMT(MSDependentExistsStmt, Stmt) 135#undef MSDEPENDENTEXISTSSTMT 136 137#ifndef NULLSTMT 138# define NULLSTMT(Type, Base) STMT(Type, Base) 139#endif 140NULLSTMT(NullStmt, Stmt) 141#undef NULLSTMT 142 143#ifndef OMPCANONICALLOOP 144# define OMPCANONICALLOOP(Type, Base) STMT(Type, Base) 145#endif 146OMPCANONICALLOOP(OMPCanonicalLoop, Stmt) 147#undef OMPCANONICALLOOP 148 149#ifndef OMPEXECUTABLEDIRECTIVE 150# define OMPEXECUTABLEDIRECTIVE(Type, Base) STMT(Type, Base) 151#endif 152ABSTRACT_STMT(OMPEXECUTABLEDIRECTIVE(OMPExecutableDirective, Stmt)) 153#ifndef OMPATOMICDIRECTIVE 154# define OMPATOMICDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 155#endif 156OMPATOMICDIRECTIVE(OMPAtomicDirective, OMPExecutableDirective) 157#undef OMPATOMICDIRECTIVE 158 159#ifndef OMPBARRIERDIRECTIVE 160# define OMPBARRIERDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 161#endif 162OMPBARRIERDIRECTIVE(OMPBarrierDirective, OMPExecutableDirective) 163#undef OMPBARRIERDIRECTIVE 164 165#ifndef OMPCANCELDIRECTIVE 166# define OMPCANCELDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 167#endif 168OMPCANCELDIRECTIVE(OMPCancelDirective, OMPExecutableDirective) 169#undef OMPCANCELDIRECTIVE 170 171#ifndef OMPCANCELLATIONPOINTDIRECTIVE 172# define OMPCANCELLATIONPOINTDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 173#endif 174OMPCANCELLATIONPOINTDIRECTIVE(OMPCancellationPointDirective, OMPExecutableDirective) 175#undef OMPCANCELLATIONPOINTDIRECTIVE 176 177#ifndef OMPCRITICALDIRECTIVE 178# define OMPCRITICALDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 179#endif 180OMPCRITICALDIRECTIVE(OMPCriticalDirective, OMPExecutableDirective) 181#undef OMPCRITICALDIRECTIVE 182 183#ifndef OMPDEPOBJDIRECTIVE 184# define OMPDEPOBJDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 185#endif 186OMPDEPOBJDIRECTIVE(OMPDepobjDirective, OMPExecutableDirective) 187#undef OMPDEPOBJDIRECTIVE 188 189#ifndef OMPDISPATCHDIRECTIVE 190# define OMPDISPATCHDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 191#endif 192OMPDISPATCHDIRECTIVE(OMPDispatchDirective, OMPExecutableDirective) 193#undef OMPDISPATCHDIRECTIVE 194 195#ifndef OMPERRORDIRECTIVE 196# define OMPERRORDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 197#endif 198OMPERRORDIRECTIVE(OMPErrorDirective, OMPExecutableDirective) 199#undef OMPERRORDIRECTIVE 200 201#ifndef OMPFLUSHDIRECTIVE 202# define OMPFLUSHDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 203#endif 204OMPFLUSHDIRECTIVE(OMPFlushDirective, OMPExecutableDirective) 205#undef OMPFLUSHDIRECTIVE 206 207#ifndef OMPINTEROPDIRECTIVE 208# define OMPINTEROPDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 209#endif 210OMPINTEROPDIRECTIVE(OMPInteropDirective, OMPExecutableDirective) 211#undef OMPINTEROPDIRECTIVE 212 213#ifndef OMPLOOPBASEDDIRECTIVE 214# define OMPLOOPBASEDDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 215#endif 216ABSTRACT_STMT(OMPLOOPBASEDDIRECTIVE(OMPLoopBasedDirective, OMPExecutableDirective)) 217#ifndef OMPLOOPDIRECTIVE 218# define OMPLOOPDIRECTIVE(Type, Base) OMPLOOPBASEDDIRECTIVE(Type, Base) 219#endif 220ABSTRACT_STMT(OMPLOOPDIRECTIVE(OMPLoopDirective, OMPLoopBasedDirective)) 221#ifndef OMPDISTRIBUTEDIRECTIVE 222# define OMPDISTRIBUTEDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 223#endif 224OMPDISTRIBUTEDIRECTIVE(OMPDistributeDirective, OMPLoopDirective) 225#undef OMPDISTRIBUTEDIRECTIVE 226 227#ifndef OMPDISTRIBUTEPARALLELFORDIRECTIVE 228# define OMPDISTRIBUTEPARALLELFORDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 229#endif 230OMPDISTRIBUTEPARALLELFORDIRECTIVE(OMPDistributeParallelForDirective, OMPLoopDirective) 231#undef OMPDISTRIBUTEPARALLELFORDIRECTIVE 232 233#ifndef OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE 234# define OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 235#endif 236OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE(OMPDistributeParallelForSimdDirective, OMPLoopDirective) 237#undef OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE 238 239#ifndef OMPDISTRIBUTESIMDDIRECTIVE 240# define OMPDISTRIBUTESIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 241#endif 242OMPDISTRIBUTESIMDDIRECTIVE(OMPDistributeSimdDirective, OMPLoopDirective) 243#undef OMPDISTRIBUTESIMDDIRECTIVE 244 245#ifndef OMPFORDIRECTIVE 246# define OMPFORDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 247#endif 248OMPFORDIRECTIVE(OMPForDirective, OMPLoopDirective) 249#undef OMPFORDIRECTIVE 250 251#ifndef OMPFORSIMDDIRECTIVE 252# define OMPFORSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 253#endif 254OMPFORSIMDDIRECTIVE(OMPForSimdDirective, OMPLoopDirective) 255#undef OMPFORSIMDDIRECTIVE 256 257#ifndef OMPGENERICLOOPDIRECTIVE 258# define OMPGENERICLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 259#endif 260OMPGENERICLOOPDIRECTIVE(OMPGenericLoopDirective, OMPLoopDirective) 261#undef OMPGENERICLOOPDIRECTIVE 262 263#ifndef OMPMASKEDTASKLOOPDIRECTIVE 264# define OMPMASKEDTASKLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 265#endif 266OMPMASKEDTASKLOOPDIRECTIVE(OMPMaskedTaskLoopDirective, OMPLoopDirective) 267#undef OMPMASKEDTASKLOOPDIRECTIVE 268 269#ifndef OMPMASKEDTASKLOOPSIMDDIRECTIVE 270# define OMPMASKEDTASKLOOPSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 271#endif 272OMPMASKEDTASKLOOPSIMDDIRECTIVE(OMPMaskedTaskLoopSimdDirective, OMPLoopDirective) 273#undef OMPMASKEDTASKLOOPSIMDDIRECTIVE 274 275#ifndef OMPMASTERTASKLOOPDIRECTIVE 276# define OMPMASTERTASKLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 277#endif 278OMPMASTERTASKLOOPDIRECTIVE(OMPMasterTaskLoopDirective, OMPLoopDirective) 279#undef OMPMASTERTASKLOOPDIRECTIVE 280 281#ifndef OMPMASTERTASKLOOPSIMDDIRECTIVE 282# define OMPMASTERTASKLOOPSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 283#endif 284OMPMASTERTASKLOOPSIMDDIRECTIVE(OMPMasterTaskLoopSimdDirective, OMPLoopDirective) 285#undef OMPMASTERTASKLOOPSIMDDIRECTIVE 286 287#ifndef OMPPARALLELFORDIRECTIVE 288# define OMPPARALLELFORDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 289#endif 290OMPPARALLELFORDIRECTIVE(OMPParallelForDirective, OMPLoopDirective) 291#undef OMPPARALLELFORDIRECTIVE 292 293#ifndef OMPPARALLELFORSIMDDIRECTIVE 294# define OMPPARALLELFORSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 295#endif 296OMPPARALLELFORSIMDDIRECTIVE(OMPParallelForSimdDirective, OMPLoopDirective) 297#undef OMPPARALLELFORSIMDDIRECTIVE 298 299#ifndef OMPPARALLELGENERICLOOPDIRECTIVE 300# define OMPPARALLELGENERICLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 301#endif 302OMPPARALLELGENERICLOOPDIRECTIVE(OMPParallelGenericLoopDirective, OMPLoopDirective) 303#undef OMPPARALLELGENERICLOOPDIRECTIVE 304 305#ifndef OMPPARALLELMASKEDTASKLOOPDIRECTIVE 306# define OMPPARALLELMASKEDTASKLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 307#endif 308OMPPARALLELMASKEDTASKLOOPDIRECTIVE(OMPParallelMaskedTaskLoopDirective, OMPLoopDirective) 309#undef OMPPARALLELMASKEDTASKLOOPDIRECTIVE 310 311#ifndef OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE 312# define OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 313#endif 314OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE(OMPParallelMaskedTaskLoopSimdDirective, OMPLoopDirective) 315#undef OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE 316 317#ifndef OMPPARALLELMASTERTASKLOOPDIRECTIVE 318# define OMPPARALLELMASTERTASKLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 319#endif 320OMPPARALLELMASTERTASKLOOPDIRECTIVE(OMPParallelMasterTaskLoopDirective, OMPLoopDirective) 321#undef OMPPARALLELMASTERTASKLOOPDIRECTIVE 322 323#ifndef OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE 324# define OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 325#endif 326OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE(OMPParallelMasterTaskLoopSimdDirective, OMPLoopDirective) 327#undef OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE 328 329#ifndef OMPSIMDDIRECTIVE 330# define OMPSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 331#endif 332OMPSIMDDIRECTIVE(OMPSimdDirective, OMPLoopDirective) 333#undef OMPSIMDDIRECTIVE 334 335#ifndef OMPTARGETPARALLELFORSIMDDIRECTIVE 336# define OMPTARGETPARALLELFORSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 337#endif 338OMPTARGETPARALLELFORSIMDDIRECTIVE(OMPTargetParallelForSimdDirective, OMPLoopDirective) 339#undef OMPTARGETPARALLELFORSIMDDIRECTIVE 340 341#ifndef OMPTARGETPARALLELGENERICLOOPDIRECTIVE 342# define OMPTARGETPARALLELGENERICLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 343#endif 344OMPTARGETPARALLELGENERICLOOPDIRECTIVE(OMPTargetParallelGenericLoopDirective, OMPLoopDirective) 345#undef OMPTARGETPARALLELGENERICLOOPDIRECTIVE 346 347#ifndef OMPTARGETSIMDDIRECTIVE 348# define OMPTARGETSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 349#endif 350OMPTARGETSIMDDIRECTIVE(OMPTargetSimdDirective, OMPLoopDirective) 351#undef OMPTARGETSIMDDIRECTIVE 352 353#ifndef OMPTARGETTEAMSDISTRIBUTEDIRECTIVE 354# define OMPTARGETTEAMSDISTRIBUTEDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 355#endif 356OMPTARGETTEAMSDISTRIBUTEDIRECTIVE(OMPTargetTeamsDistributeDirective, OMPLoopDirective) 357#undef OMPTARGETTEAMSDISTRIBUTEDIRECTIVE 358 359#ifndef OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE 360# define OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 361#endif 362OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE(OMPTargetTeamsDistributeParallelForDirective, OMPLoopDirective) 363#undef OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE 364 365#ifndef OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE 366# define OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 367#endif 368OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE(OMPTargetTeamsDistributeParallelForSimdDirective, OMPLoopDirective) 369#undef OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE 370 371#ifndef OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE 372# define OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 373#endif 374OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE(OMPTargetTeamsDistributeSimdDirective, OMPLoopDirective) 375#undef OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE 376 377#ifndef OMPTARGETTEAMSGENERICLOOPDIRECTIVE 378# define OMPTARGETTEAMSGENERICLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 379#endif 380OMPTARGETTEAMSGENERICLOOPDIRECTIVE(OMPTargetTeamsGenericLoopDirective, OMPLoopDirective) 381#undef OMPTARGETTEAMSGENERICLOOPDIRECTIVE 382 383#ifndef OMPTASKLOOPDIRECTIVE 384# define OMPTASKLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 385#endif 386OMPTASKLOOPDIRECTIVE(OMPTaskLoopDirective, OMPLoopDirective) 387#undef OMPTASKLOOPDIRECTIVE 388 389#ifndef OMPTASKLOOPSIMDDIRECTIVE 390# define OMPTASKLOOPSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 391#endif 392OMPTASKLOOPSIMDDIRECTIVE(OMPTaskLoopSimdDirective, OMPLoopDirective) 393#undef OMPTASKLOOPSIMDDIRECTIVE 394 395#ifndef OMPTEAMSDISTRIBUTEDIRECTIVE 396# define OMPTEAMSDISTRIBUTEDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 397#endif 398OMPTEAMSDISTRIBUTEDIRECTIVE(OMPTeamsDistributeDirective, OMPLoopDirective) 399#undef OMPTEAMSDISTRIBUTEDIRECTIVE 400 401#ifndef OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE 402# define OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 403#endif 404OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE(OMPTeamsDistributeParallelForDirective, OMPLoopDirective) 405#undef OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE 406 407#ifndef OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE 408# define OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 409#endif 410OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE(OMPTeamsDistributeParallelForSimdDirective, OMPLoopDirective) 411#undef OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE 412 413#ifndef OMPTEAMSDISTRIBUTESIMDDIRECTIVE 414# define OMPTEAMSDISTRIBUTESIMDDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 415#endif 416OMPTEAMSDISTRIBUTESIMDDIRECTIVE(OMPTeamsDistributeSimdDirective, OMPLoopDirective) 417#undef OMPTEAMSDISTRIBUTESIMDDIRECTIVE 418 419#ifndef OMPTEAMSGENERICLOOPDIRECTIVE 420# define OMPTEAMSGENERICLOOPDIRECTIVE(Type, Base) OMPLOOPDIRECTIVE(Type, Base) 421#endif 422OMPTEAMSGENERICLOOPDIRECTIVE(OMPTeamsGenericLoopDirective, OMPLoopDirective) 423#undef OMPTEAMSGENERICLOOPDIRECTIVE 424 425STMT_RANGE(OMPLoopDirective, OMPDistributeDirective, OMPTeamsGenericLoopDirective) 426 427#undef OMPLOOPDIRECTIVE 428 429#ifndef OMPLOOPTRANSFORMATIONDIRECTIVE 430# define OMPLOOPTRANSFORMATIONDIRECTIVE(Type, Base) OMPLOOPBASEDDIRECTIVE(Type, Base) 431#endif 432ABSTRACT_STMT(OMPLOOPTRANSFORMATIONDIRECTIVE(OMPLoopTransformationDirective, OMPLoopBasedDirective)) 433#ifndef OMPTILEDIRECTIVE 434# define OMPTILEDIRECTIVE(Type, Base) OMPLOOPTRANSFORMATIONDIRECTIVE(Type, Base) 435#endif 436OMPTILEDIRECTIVE(OMPTileDirective, OMPLoopTransformationDirective) 437#undef OMPTILEDIRECTIVE 438 439#ifndef OMPUNROLLDIRECTIVE 440# define OMPUNROLLDIRECTIVE(Type, Base) OMPLOOPTRANSFORMATIONDIRECTIVE(Type, Base) 441#endif 442OMPUNROLLDIRECTIVE(OMPUnrollDirective, OMPLoopTransformationDirective) 443#undef OMPUNROLLDIRECTIVE 444 445STMT_RANGE(OMPLoopTransformationDirective, OMPTileDirective, OMPUnrollDirective) 446 447#undef OMPLOOPTRANSFORMATIONDIRECTIVE 448 449STMT_RANGE(OMPLoopBasedDirective, OMPDistributeDirective, OMPUnrollDirective) 450 451#undef OMPLOOPBASEDDIRECTIVE 452 453#ifndef OMPMASKEDDIRECTIVE 454# define OMPMASKEDDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 455#endif 456OMPMASKEDDIRECTIVE(OMPMaskedDirective, OMPExecutableDirective) 457#undef OMPMASKEDDIRECTIVE 458 459#ifndef OMPMASTERDIRECTIVE 460# define OMPMASTERDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 461#endif 462OMPMASTERDIRECTIVE(OMPMasterDirective, OMPExecutableDirective) 463#undef OMPMASTERDIRECTIVE 464 465#ifndef OMPMETADIRECTIVE 466# define OMPMETADIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 467#endif 468OMPMETADIRECTIVE(OMPMetaDirective, OMPExecutableDirective) 469#undef OMPMETADIRECTIVE 470 471#ifndef OMPORDEREDDIRECTIVE 472# define OMPORDEREDDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 473#endif 474OMPORDEREDDIRECTIVE(OMPOrderedDirective, OMPExecutableDirective) 475#undef OMPORDEREDDIRECTIVE 476 477#ifndef OMPPARALLELDIRECTIVE 478# define OMPPARALLELDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 479#endif 480OMPPARALLELDIRECTIVE(OMPParallelDirective, OMPExecutableDirective) 481#undef OMPPARALLELDIRECTIVE 482 483#ifndef OMPPARALLELMASKEDDIRECTIVE 484# define OMPPARALLELMASKEDDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 485#endif 486OMPPARALLELMASKEDDIRECTIVE(OMPParallelMaskedDirective, OMPExecutableDirective) 487#undef OMPPARALLELMASKEDDIRECTIVE 488 489#ifndef OMPPARALLELMASTERDIRECTIVE 490# define OMPPARALLELMASTERDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 491#endif 492OMPPARALLELMASTERDIRECTIVE(OMPParallelMasterDirective, OMPExecutableDirective) 493#undef OMPPARALLELMASTERDIRECTIVE 494 495#ifndef OMPPARALLELSECTIONSDIRECTIVE 496# define OMPPARALLELSECTIONSDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 497#endif 498OMPPARALLELSECTIONSDIRECTIVE(OMPParallelSectionsDirective, OMPExecutableDirective) 499#undef OMPPARALLELSECTIONSDIRECTIVE 500 501#ifndef OMPSCANDIRECTIVE 502# define OMPSCANDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 503#endif 504OMPSCANDIRECTIVE(OMPScanDirective, OMPExecutableDirective) 505#undef OMPSCANDIRECTIVE 506 507#ifndef OMPSCOPEDIRECTIVE 508# define OMPSCOPEDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 509#endif 510OMPSCOPEDIRECTIVE(OMPScopeDirective, OMPExecutableDirective) 511#undef OMPSCOPEDIRECTIVE 512 513#ifndef OMPSECTIONDIRECTIVE 514# define OMPSECTIONDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 515#endif 516OMPSECTIONDIRECTIVE(OMPSectionDirective, OMPExecutableDirective) 517#undef OMPSECTIONDIRECTIVE 518 519#ifndef OMPSECTIONSDIRECTIVE 520# define OMPSECTIONSDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 521#endif 522OMPSECTIONSDIRECTIVE(OMPSectionsDirective, OMPExecutableDirective) 523#undef OMPSECTIONSDIRECTIVE 524 525#ifndef OMPSINGLEDIRECTIVE 526# define OMPSINGLEDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 527#endif 528OMPSINGLEDIRECTIVE(OMPSingleDirective, OMPExecutableDirective) 529#undef OMPSINGLEDIRECTIVE 530 531#ifndef OMPTARGETDATADIRECTIVE 532# define OMPTARGETDATADIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 533#endif 534OMPTARGETDATADIRECTIVE(OMPTargetDataDirective, OMPExecutableDirective) 535#undef OMPTARGETDATADIRECTIVE 536 537#ifndef OMPTARGETDIRECTIVE 538# define OMPTARGETDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 539#endif 540OMPTARGETDIRECTIVE(OMPTargetDirective, OMPExecutableDirective) 541#undef OMPTARGETDIRECTIVE 542 543#ifndef OMPTARGETENTERDATADIRECTIVE 544# define OMPTARGETENTERDATADIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 545#endif 546OMPTARGETENTERDATADIRECTIVE(OMPTargetEnterDataDirective, OMPExecutableDirective) 547#undef OMPTARGETENTERDATADIRECTIVE 548 549#ifndef OMPTARGETEXITDATADIRECTIVE 550# define OMPTARGETEXITDATADIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 551#endif 552OMPTARGETEXITDATADIRECTIVE(OMPTargetExitDataDirective, OMPExecutableDirective) 553#undef OMPTARGETEXITDATADIRECTIVE 554 555#ifndef OMPTARGETPARALLELDIRECTIVE 556# define OMPTARGETPARALLELDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 557#endif 558OMPTARGETPARALLELDIRECTIVE(OMPTargetParallelDirective, OMPExecutableDirective) 559#undef OMPTARGETPARALLELDIRECTIVE 560 561#ifndef OMPTARGETPARALLELFORDIRECTIVE 562# define OMPTARGETPARALLELFORDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 563#endif 564OMPTARGETPARALLELFORDIRECTIVE(OMPTargetParallelForDirective, OMPExecutableDirective) 565#undef OMPTARGETPARALLELFORDIRECTIVE 566 567#ifndef OMPTARGETTEAMSDIRECTIVE 568# define OMPTARGETTEAMSDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 569#endif 570OMPTARGETTEAMSDIRECTIVE(OMPTargetTeamsDirective, OMPExecutableDirective) 571#undef OMPTARGETTEAMSDIRECTIVE 572 573#ifndef OMPTARGETUPDATEDIRECTIVE 574# define OMPTARGETUPDATEDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 575#endif 576OMPTARGETUPDATEDIRECTIVE(OMPTargetUpdateDirective, OMPExecutableDirective) 577#undef OMPTARGETUPDATEDIRECTIVE 578 579#ifndef OMPTASKDIRECTIVE 580# define OMPTASKDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 581#endif 582OMPTASKDIRECTIVE(OMPTaskDirective, OMPExecutableDirective) 583#undef OMPTASKDIRECTIVE 584 585#ifndef OMPTASKGROUPDIRECTIVE 586# define OMPTASKGROUPDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 587#endif 588OMPTASKGROUPDIRECTIVE(OMPTaskgroupDirective, OMPExecutableDirective) 589#undef OMPTASKGROUPDIRECTIVE 590 591#ifndef OMPTASKWAITDIRECTIVE 592# define OMPTASKWAITDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 593#endif 594OMPTASKWAITDIRECTIVE(OMPTaskwaitDirective, OMPExecutableDirective) 595#undef OMPTASKWAITDIRECTIVE 596 597#ifndef OMPTASKYIELDDIRECTIVE 598# define OMPTASKYIELDDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 599#endif 600OMPTASKYIELDDIRECTIVE(OMPTaskyieldDirective, OMPExecutableDirective) 601#undef OMPTASKYIELDDIRECTIVE 602 603#ifndef OMPTEAMSDIRECTIVE 604# define OMPTEAMSDIRECTIVE(Type, Base) OMPEXECUTABLEDIRECTIVE(Type, Base) 605#endif 606OMPTEAMSDIRECTIVE(OMPTeamsDirective, OMPExecutableDirective) 607#undef OMPTEAMSDIRECTIVE 608 609STMT_RANGE(OMPExecutableDirective, OMPAtomicDirective, OMPTeamsDirective) 610 611#undef OMPEXECUTABLEDIRECTIVE 612 613#ifndef OBJCATCATCHSTMT 614# define OBJCATCATCHSTMT(Type, Base) STMT(Type, Base) 615#endif 616OBJCATCATCHSTMT(ObjCAtCatchStmt, Stmt) 617#undef OBJCATCATCHSTMT 618 619#ifndef OBJCATFINALLYSTMT 620# define OBJCATFINALLYSTMT(Type, Base) STMT(Type, Base) 621#endif 622OBJCATFINALLYSTMT(ObjCAtFinallyStmt, Stmt) 623#undef OBJCATFINALLYSTMT 624 625#ifndef OBJCATSYNCHRONIZEDSTMT 626# define OBJCATSYNCHRONIZEDSTMT(Type, Base) STMT(Type, Base) 627#endif 628OBJCATSYNCHRONIZEDSTMT(ObjCAtSynchronizedStmt, Stmt) 629#undef OBJCATSYNCHRONIZEDSTMT 630 631#ifndef OBJCATTHROWSTMT 632# define OBJCATTHROWSTMT(Type, Base) STMT(Type, Base) 633#endif 634OBJCATTHROWSTMT(ObjCAtThrowStmt, Stmt) 635#undef OBJCATTHROWSTMT 636 637#ifndef OBJCATTRYSTMT 638# define OBJCATTRYSTMT(Type, Base) STMT(Type, Base) 639#endif 640OBJCATTRYSTMT(ObjCAtTryStmt, Stmt) 641#undef OBJCATTRYSTMT 642 643#ifndef OBJCAUTORELEASEPOOLSTMT 644# define OBJCAUTORELEASEPOOLSTMT(Type, Base) STMT(Type, Base) 645#endif 646OBJCAUTORELEASEPOOLSTMT(ObjCAutoreleasePoolStmt, Stmt) 647#undef OBJCAUTORELEASEPOOLSTMT 648 649#ifndef OBJCFORCOLLECTIONSTMT 650# define OBJCFORCOLLECTIONSTMT(Type, Base) STMT(Type, Base) 651#endif 652OBJCFORCOLLECTIONSTMT(ObjCForCollectionStmt, Stmt) 653#undef OBJCFORCOLLECTIONSTMT 654 655#ifndef RETURNSTMT 656# define RETURNSTMT(Type, Base) STMT(Type, Base) 657#endif 658RETURNSTMT(ReturnStmt, Stmt) 659#undef RETURNSTMT 660 661#ifndef SEHEXCEPTSTMT 662# define SEHEXCEPTSTMT(Type, Base) STMT(Type, Base) 663#endif 664SEHEXCEPTSTMT(SEHExceptStmt, Stmt) 665#undef SEHEXCEPTSTMT 666 667#ifndef SEHFINALLYSTMT 668# define SEHFINALLYSTMT(Type, Base) STMT(Type, Base) 669#endif 670SEHFINALLYSTMT(SEHFinallyStmt, Stmt) 671#undef SEHFINALLYSTMT 672 673#ifndef SEHLEAVESTMT 674# define SEHLEAVESTMT(Type, Base) STMT(Type, Base) 675#endif 676SEHLEAVESTMT(SEHLeaveStmt, Stmt) 677#undef SEHLEAVESTMT 678 679#ifndef SEHTRYSTMT 680# define SEHTRYSTMT(Type, Base) STMT(Type, Base) 681#endif 682SEHTRYSTMT(SEHTryStmt, Stmt) 683#undef SEHTRYSTMT 684 685#ifndef SWITCHCASE 686# define SWITCHCASE(Type, Base) STMT(Type, Base) 687#endif 688ABSTRACT_STMT(SWITCHCASE(SwitchCase, Stmt)) 689#ifndef CASESTMT 690# define CASESTMT(Type, Base) SWITCHCASE(Type, Base) 691#endif 692CASESTMT(CaseStmt, SwitchCase) 693#undef CASESTMT 694 695#ifndef DEFAULTSTMT 696# define DEFAULTSTMT(Type, Base) SWITCHCASE(Type, Base) 697#endif 698DEFAULTSTMT(DefaultStmt, SwitchCase) 699#undef DEFAULTSTMT 700 701STMT_RANGE(SwitchCase, CaseStmt, DefaultStmt) 702 703#undef SWITCHCASE 704 705#ifndef SWITCHSTMT 706# define SWITCHSTMT(Type, Base) STMT(Type, Base) 707#endif 708SWITCHSTMT(SwitchStmt, Stmt) 709#undef SWITCHSTMT 710 711#ifndef VALUESTMT 712# define VALUESTMT(Type, Base) STMT(Type, Base) 713#endif 714ABSTRACT_STMT(VALUESTMT(ValueStmt, Stmt)) 715#ifndef ATTRIBUTEDSTMT 716# define ATTRIBUTEDSTMT(Type, Base) VALUESTMT(Type, Base) 717#endif 718ATTRIBUTEDSTMT(AttributedStmt, ValueStmt) 719#undef ATTRIBUTEDSTMT 720 721#ifndef EXPR 722# define EXPR(Type, Base) VALUESTMT(Type, Base) 723#endif 724ABSTRACT_STMT(EXPR(Expr, ValueStmt)) 725#ifndef ABSTRACTCONDITIONALOPERATOR 726# define ABSTRACTCONDITIONALOPERATOR(Type, Base) EXPR(Type, Base) 727#endif 728ABSTRACT_STMT(ABSTRACTCONDITIONALOPERATOR(AbstractConditionalOperator, Expr)) 729#ifndef BINARYCONDITIONALOPERATOR 730# define BINARYCONDITIONALOPERATOR(Type, Base) ABSTRACTCONDITIONALOPERATOR(Type, Base) 731#endif 732BINARYCONDITIONALOPERATOR(BinaryConditionalOperator, AbstractConditionalOperator) 733#undef BINARYCONDITIONALOPERATOR 734 735#ifndef CONDITIONALOPERATOR 736# define CONDITIONALOPERATOR(Type, Base) ABSTRACTCONDITIONALOPERATOR(Type, Base) 737#endif 738CONDITIONALOPERATOR(ConditionalOperator, AbstractConditionalOperator) 739#undef CONDITIONALOPERATOR 740 741STMT_RANGE(AbstractConditionalOperator, BinaryConditionalOperator, ConditionalOperator) 742 743#undef ABSTRACTCONDITIONALOPERATOR 744 745#ifndef ADDRLABELEXPR 746# define ADDRLABELEXPR(Type, Base) EXPR(Type, Base) 747#endif 748ADDRLABELEXPR(AddrLabelExpr, Expr) 749#undef ADDRLABELEXPR 750 751#ifndef ARRAYINITINDEXEXPR 752# define ARRAYINITINDEXEXPR(Type, Base) EXPR(Type, Base) 753#endif 754ARRAYINITINDEXEXPR(ArrayInitIndexExpr, Expr) 755#undef ARRAYINITINDEXEXPR 756 757#ifndef ARRAYINITLOOPEXPR 758# define ARRAYINITLOOPEXPR(Type, Base) EXPR(Type, Base) 759#endif 760ARRAYINITLOOPEXPR(ArrayInitLoopExpr, Expr) 761#undef ARRAYINITLOOPEXPR 762 763#ifndef ARRAYSUBSCRIPTEXPR 764# define ARRAYSUBSCRIPTEXPR(Type, Base) EXPR(Type, Base) 765#endif 766ARRAYSUBSCRIPTEXPR(ArraySubscriptExpr, Expr) 767#undef ARRAYSUBSCRIPTEXPR 768 769#ifndef ARRAYTYPETRAITEXPR 770# define ARRAYTYPETRAITEXPR(Type, Base) EXPR(Type, Base) 771#endif 772ARRAYTYPETRAITEXPR(ArrayTypeTraitExpr, Expr) 773#undef ARRAYTYPETRAITEXPR 774 775#ifndef ASTYPEEXPR 776# define ASTYPEEXPR(Type, Base) EXPR(Type, Base) 777#endif 778ASTYPEEXPR(AsTypeExpr, Expr) 779#undef ASTYPEEXPR 780 781#ifndef ATOMICEXPR 782# define ATOMICEXPR(Type, Base) EXPR(Type, Base) 783#endif 784ATOMICEXPR(AtomicExpr, Expr) 785#undef ATOMICEXPR 786 787#ifndef BINARYOPERATOR 788# define BINARYOPERATOR(Type, Base) EXPR(Type, Base) 789#endif 790BINARYOPERATOR(BinaryOperator, Expr) 791#ifndef COMPOUNDASSIGNOPERATOR 792# define COMPOUNDASSIGNOPERATOR(Type, Base) BINARYOPERATOR(Type, Base) 793#endif 794COMPOUNDASSIGNOPERATOR(CompoundAssignOperator, BinaryOperator) 795#undef COMPOUNDASSIGNOPERATOR 796 797STMT_RANGE(BinaryOperator, BinaryOperator, CompoundAssignOperator) 798 799#undef BINARYOPERATOR 800 801#ifndef BLOCKEXPR 802# define BLOCKEXPR(Type, Base) EXPR(Type, Base) 803#endif 804BLOCKEXPR(BlockExpr, Expr) 805#undef BLOCKEXPR 806 807#ifndef CXXBINDTEMPORARYEXPR 808# define CXXBINDTEMPORARYEXPR(Type, Base) EXPR(Type, Base) 809#endif 810CXXBINDTEMPORARYEXPR(CXXBindTemporaryExpr, Expr) 811#undef CXXBINDTEMPORARYEXPR 812 813#ifndef CXXBOOLLITERALEXPR 814# define CXXBOOLLITERALEXPR(Type, Base) EXPR(Type, Base) 815#endif 816CXXBOOLLITERALEXPR(CXXBoolLiteralExpr, Expr) 817#undef CXXBOOLLITERALEXPR 818 819#ifndef CXXCONSTRUCTEXPR 820# define CXXCONSTRUCTEXPR(Type, Base) EXPR(Type, Base) 821#endif 822CXXCONSTRUCTEXPR(CXXConstructExpr, Expr) 823#ifndef CXXTEMPORARYOBJECTEXPR 824# define CXXTEMPORARYOBJECTEXPR(Type, Base) CXXCONSTRUCTEXPR(Type, Base) 825#endif 826CXXTEMPORARYOBJECTEXPR(CXXTemporaryObjectExpr, CXXConstructExpr) 827#undef CXXTEMPORARYOBJECTEXPR 828 829STMT_RANGE(CXXConstructExpr, CXXConstructExpr, CXXTemporaryObjectExpr) 830 831#undef CXXCONSTRUCTEXPR 832 833#ifndef CXXDEFAULTARGEXPR 834# define CXXDEFAULTARGEXPR(Type, Base) EXPR(Type, Base) 835#endif 836CXXDEFAULTARGEXPR(CXXDefaultArgExpr, Expr) 837#undef CXXDEFAULTARGEXPR 838 839#ifndef CXXDEFAULTINITEXPR 840# define CXXDEFAULTINITEXPR(Type, Base) EXPR(Type, Base) 841#endif 842CXXDEFAULTINITEXPR(CXXDefaultInitExpr, Expr) 843#undef CXXDEFAULTINITEXPR 844 845#ifndef CXXDELETEEXPR 846# define CXXDELETEEXPR(Type, Base) EXPR(Type, Base) 847#endif 848CXXDELETEEXPR(CXXDeleteExpr, Expr) 849#undef CXXDELETEEXPR 850 851#ifndef CXXDEPENDENTSCOPEMEMBEREXPR 852# define CXXDEPENDENTSCOPEMEMBEREXPR(Type, Base) EXPR(Type, Base) 853#endif 854CXXDEPENDENTSCOPEMEMBEREXPR(CXXDependentScopeMemberExpr, Expr) 855#undef CXXDEPENDENTSCOPEMEMBEREXPR 856 857#ifndef CXXFOLDEXPR 858# define CXXFOLDEXPR(Type, Base) EXPR(Type, Base) 859#endif 860CXXFOLDEXPR(CXXFoldExpr, Expr) 861#undef CXXFOLDEXPR 862 863#ifndef CXXINHERITEDCTORINITEXPR 864# define CXXINHERITEDCTORINITEXPR(Type, Base) EXPR(Type, Base) 865#endif 866CXXINHERITEDCTORINITEXPR(CXXInheritedCtorInitExpr, Expr) 867#undef CXXINHERITEDCTORINITEXPR 868 869#ifndef CXXNEWEXPR 870# define CXXNEWEXPR(Type, Base) EXPR(Type, Base) 871#endif 872CXXNEWEXPR(CXXNewExpr, Expr) 873#undef CXXNEWEXPR 874 875#ifndef CXXNOEXCEPTEXPR 876# define CXXNOEXCEPTEXPR(Type, Base) EXPR(Type, Base) 877#endif 878CXXNOEXCEPTEXPR(CXXNoexceptExpr, Expr) 879#undef CXXNOEXCEPTEXPR 880 881#ifndef CXXNULLPTRLITERALEXPR 882# define CXXNULLPTRLITERALEXPR(Type, Base) EXPR(Type, Base) 883#endif 884CXXNULLPTRLITERALEXPR(CXXNullPtrLiteralExpr, Expr) 885#undef CXXNULLPTRLITERALEXPR 886 887#ifndef CXXPARENLISTINITEXPR 888# define CXXPARENLISTINITEXPR(Type, Base) EXPR(Type, Base) 889#endif 890CXXPARENLISTINITEXPR(CXXParenListInitExpr, Expr) 891#undef CXXPARENLISTINITEXPR 892 893#ifndef CXXPSEUDODESTRUCTOREXPR 894# define CXXPSEUDODESTRUCTOREXPR(Type, Base) EXPR(Type, Base) 895#endif 896CXXPSEUDODESTRUCTOREXPR(CXXPseudoDestructorExpr, Expr) 897#undef CXXPSEUDODESTRUCTOREXPR 898 899#ifndef CXXREWRITTENBINARYOPERATOR 900# define CXXREWRITTENBINARYOPERATOR(Type, Base) EXPR(Type, Base) 901#endif 902CXXREWRITTENBINARYOPERATOR(CXXRewrittenBinaryOperator, Expr) 903#undef CXXREWRITTENBINARYOPERATOR 904 905#ifndef CXXSCALARVALUEINITEXPR 906# define CXXSCALARVALUEINITEXPR(Type, Base) EXPR(Type, Base) 907#endif 908CXXSCALARVALUEINITEXPR(CXXScalarValueInitExpr, Expr) 909#undef CXXSCALARVALUEINITEXPR 910 911#ifndef CXXSTDINITIALIZERLISTEXPR 912# define CXXSTDINITIALIZERLISTEXPR(Type, Base) EXPR(Type, Base) 913#endif 914CXXSTDINITIALIZERLISTEXPR(CXXStdInitializerListExpr, Expr) 915#undef CXXSTDINITIALIZERLISTEXPR 916 917#ifndef CXXTHISEXPR 918# define CXXTHISEXPR(Type, Base) EXPR(Type, Base) 919#endif 920CXXTHISEXPR(CXXThisExpr, Expr) 921#undef CXXTHISEXPR 922 923#ifndef CXXTHROWEXPR 924# define CXXTHROWEXPR(Type, Base) EXPR(Type, Base) 925#endif 926CXXTHROWEXPR(CXXThrowExpr, Expr) 927#undef CXXTHROWEXPR 928 929#ifndef CXXTYPEIDEXPR 930# define CXXTYPEIDEXPR(Type, Base) EXPR(Type, Base) 931#endif 932CXXTYPEIDEXPR(CXXTypeidExpr, Expr) 933#undef CXXTYPEIDEXPR 934 935#ifndef CXXUNRESOLVEDCONSTRUCTEXPR 936# define CXXUNRESOLVEDCONSTRUCTEXPR(Type, Base) EXPR(Type, Base) 937#endif 938CXXUNRESOLVEDCONSTRUCTEXPR(CXXUnresolvedConstructExpr, Expr) 939#undef CXXUNRESOLVEDCONSTRUCTEXPR 940 941#ifndef CXXUUIDOFEXPR 942# define CXXUUIDOFEXPR(Type, Base) EXPR(Type, Base) 943#endif 944CXXUUIDOFEXPR(CXXUuidofExpr, Expr) 945#undef CXXUUIDOFEXPR 946 947#ifndef CALLEXPR 948# define CALLEXPR(Type, Base) EXPR(Type, Base) 949#endif 950CALLEXPR(CallExpr, Expr) 951#ifndef CUDAKERNELCALLEXPR 952# define CUDAKERNELCALLEXPR(Type, Base) CALLEXPR(Type, Base) 953#endif 954CUDAKERNELCALLEXPR(CUDAKernelCallExpr, CallExpr) 955#undef CUDAKERNELCALLEXPR 956 957#ifndef CXXMEMBERCALLEXPR 958# define CXXMEMBERCALLEXPR(Type, Base) CALLEXPR(Type, Base) 959#endif 960CXXMEMBERCALLEXPR(CXXMemberCallExpr, CallExpr) 961#undef CXXMEMBERCALLEXPR 962 963#ifndef CXXOPERATORCALLEXPR 964# define CXXOPERATORCALLEXPR(Type, Base) CALLEXPR(Type, Base) 965#endif 966CXXOPERATORCALLEXPR(CXXOperatorCallExpr, CallExpr) 967#undef CXXOPERATORCALLEXPR 968 969#ifndef USERDEFINEDLITERAL 970# define USERDEFINEDLITERAL(Type, Base) CALLEXPR(Type, Base) 971#endif 972USERDEFINEDLITERAL(UserDefinedLiteral, CallExpr) 973#undef USERDEFINEDLITERAL 974 975STMT_RANGE(CallExpr, CallExpr, UserDefinedLiteral) 976 977#undef CALLEXPR 978 979#ifndef CASTEXPR 980# define CASTEXPR(Type, Base) EXPR(Type, Base) 981#endif 982ABSTRACT_STMT(CASTEXPR(CastExpr, Expr)) 983#ifndef EXPLICITCASTEXPR 984# define EXPLICITCASTEXPR(Type, Base) CASTEXPR(Type, Base) 985#endif 986ABSTRACT_STMT(EXPLICITCASTEXPR(ExplicitCastExpr, CastExpr)) 987#ifndef BUILTINBITCASTEXPR 988# define BUILTINBITCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base) 989#endif 990BUILTINBITCASTEXPR(BuiltinBitCastExpr, ExplicitCastExpr) 991#undef BUILTINBITCASTEXPR 992 993#ifndef CSTYLECASTEXPR 994# define CSTYLECASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base) 995#endif 996CSTYLECASTEXPR(CStyleCastExpr, ExplicitCastExpr) 997#undef CSTYLECASTEXPR 998 999#ifndef CXXFUNCTIONALCASTEXPR 1000# define CXXFUNCTIONALCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base) 1001#endif 1002CXXFUNCTIONALCASTEXPR(CXXFunctionalCastExpr, ExplicitCastExpr) 1003#undef CXXFUNCTIONALCASTEXPR 1004 1005#ifndef CXXNAMEDCASTEXPR 1006# define CXXNAMEDCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base) 1007#endif 1008ABSTRACT_STMT(CXXNAMEDCASTEXPR(CXXNamedCastExpr, ExplicitCastExpr)) 1009#ifndef CXXADDRSPACECASTEXPR 1010# define CXXADDRSPACECASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base) 1011#endif 1012CXXADDRSPACECASTEXPR(CXXAddrspaceCastExpr, CXXNamedCastExpr) 1013#undef CXXADDRSPACECASTEXPR 1014 1015#ifndef CXXCONSTCASTEXPR 1016# define CXXCONSTCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base) 1017#endif 1018CXXCONSTCASTEXPR(CXXConstCastExpr, CXXNamedCastExpr) 1019#undef CXXCONSTCASTEXPR 1020 1021#ifndef CXXDYNAMICCASTEXPR 1022# define CXXDYNAMICCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base) 1023#endif 1024CXXDYNAMICCASTEXPR(CXXDynamicCastExpr, CXXNamedCastExpr) 1025#undef CXXDYNAMICCASTEXPR 1026 1027#ifndef CXXREINTERPRETCASTEXPR 1028# define CXXREINTERPRETCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base) 1029#endif 1030CXXREINTERPRETCASTEXPR(CXXReinterpretCastExpr, CXXNamedCastExpr) 1031#undef CXXREINTERPRETCASTEXPR 1032 1033#ifndef CXXSTATICCASTEXPR 1034# define CXXSTATICCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base) 1035#endif 1036CXXSTATICCASTEXPR(CXXStaticCastExpr, CXXNamedCastExpr) 1037#undef CXXSTATICCASTEXPR 1038 1039STMT_RANGE(CXXNamedCastExpr, CXXAddrspaceCastExpr, CXXStaticCastExpr) 1040 1041#undef CXXNAMEDCASTEXPR 1042 1043#ifndef OBJCBRIDGEDCASTEXPR 1044# define OBJCBRIDGEDCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base) 1045#endif 1046OBJCBRIDGEDCASTEXPR(ObjCBridgedCastExpr, ExplicitCastExpr) 1047#undef OBJCBRIDGEDCASTEXPR 1048 1049STMT_RANGE(ExplicitCastExpr, BuiltinBitCastExpr, ObjCBridgedCastExpr) 1050 1051#undef EXPLICITCASTEXPR 1052 1053#ifndef IMPLICITCASTEXPR 1054# define IMPLICITCASTEXPR(Type, Base) CASTEXPR(Type, Base) 1055#endif 1056IMPLICITCASTEXPR(ImplicitCastExpr, CastExpr) 1057#undef IMPLICITCASTEXPR 1058 1059STMT_RANGE(CastExpr, BuiltinBitCastExpr, ImplicitCastExpr) 1060 1061#undef CASTEXPR 1062 1063#ifndef CHARACTERLITERAL 1064# define CHARACTERLITERAL(Type, Base) EXPR(Type, Base) 1065#endif 1066CHARACTERLITERAL(CharacterLiteral, Expr) 1067#undef CHARACTERLITERAL 1068 1069#ifndef CHOOSEEXPR 1070# define CHOOSEEXPR(Type, Base) EXPR(Type, Base) 1071#endif 1072CHOOSEEXPR(ChooseExpr, Expr) 1073#undef CHOOSEEXPR 1074 1075#ifndef COMPOUNDLITERALEXPR 1076# define COMPOUNDLITERALEXPR(Type, Base) EXPR(Type, Base) 1077#endif 1078COMPOUNDLITERALEXPR(CompoundLiteralExpr, Expr) 1079#undef COMPOUNDLITERALEXPR 1080 1081#ifndef CONCEPTSPECIALIZATIONEXPR 1082# define CONCEPTSPECIALIZATIONEXPR(Type, Base) EXPR(Type, Base) 1083#endif 1084CONCEPTSPECIALIZATIONEXPR(ConceptSpecializationExpr, Expr) 1085#undef CONCEPTSPECIALIZATIONEXPR 1086 1087#ifndef CONVERTVECTOREXPR 1088# define CONVERTVECTOREXPR(Type, Base) EXPR(Type, Base) 1089#endif 1090CONVERTVECTOREXPR(ConvertVectorExpr, Expr) 1091#undef CONVERTVECTOREXPR 1092 1093#ifndef COROUTINESUSPENDEXPR 1094# define COROUTINESUSPENDEXPR(Type, Base) EXPR(Type, Base) 1095#endif 1096ABSTRACT_STMT(COROUTINESUSPENDEXPR(CoroutineSuspendExpr, Expr)) 1097#ifndef COAWAITEXPR 1098# define COAWAITEXPR(Type, Base) COROUTINESUSPENDEXPR(Type, Base) 1099#endif 1100COAWAITEXPR(CoawaitExpr, CoroutineSuspendExpr) 1101#undef COAWAITEXPR 1102 1103#ifndef COYIELDEXPR 1104# define COYIELDEXPR(Type, Base) COROUTINESUSPENDEXPR(Type, Base) 1105#endif 1106COYIELDEXPR(CoyieldExpr, CoroutineSuspendExpr) 1107#undef COYIELDEXPR 1108 1109STMT_RANGE(CoroutineSuspendExpr, CoawaitExpr, CoyieldExpr) 1110 1111#undef COROUTINESUSPENDEXPR 1112 1113#ifndef DECLREFEXPR 1114# define DECLREFEXPR(Type, Base) EXPR(Type, Base) 1115#endif 1116DECLREFEXPR(DeclRefExpr, Expr) 1117#undef DECLREFEXPR 1118 1119#ifndef DEPENDENTCOAWAITEXPR 1120# define DEPENDENTCOAWAITEXPR(Type, Base) EXPR(Type, Base) 1121#endif 1122DEPENDENTCOAWAITEXPR(DependentCoawaitExpr, Expr) 1123#undef DEPENDENTCOAWAITEXPR 1124 1125#ifndef DEPENDENTSCOPEDECLREFEXPR 1126# define DEPENDENTSCOPEDECLREFEXPR(Type, Base) EXPR(Type, Base) 1127#endif 1128DEPENDENTSCOPEDECLREFEXPR(DependentScopeDeclRefExpr, Expr) 1129#undef DEPENDENTSCOPEDECLREFEXPR 1130 1131#ifndef DESIGNATEDINITEXPR 1132# define DESIGNATEDINITEXPR(Type, Base) EXPR(Type, Base) 1133#endif 1134DESIGNATEDINITEXPR(DesignatedInitExpr, Expr) 1135#undef DESIGNATEDINITEXPR 1136 1137#ifndef DESIGNATEDINITUPDATEEXPR 1138# define DESIGNATEDINITUPDATEEXPR(Type, Base) EXPR(Type, Base) 1139#endif 1140DESIGNATEDINITUPDATEEXPR(DesignatedInitUpdateExpr, Expr) 1141#undef DESIGNATEDINITUPDATEEXPR 1142 1143#ifndef EXPRESSIONTRAITEXPR 1144# define EXPRESSIONTRAITEXPR(Type, Base) EXPR(Type, Base) 1145#endif 1146EXPRESSIONTRAITEXPR(ExpressionTraitExpr, Expr) 1147#undef EXPRESSIONTRAITEXPR 1148 1149#ifndef EXTVECTORELEMENTEXPR 1150# define EXTVECTORELEMENTEXPR(Type, Base) EXPR(Type, Base) 1151#endif 1152EXTVECTORELEMENTEXPR(ExtVectorElementExpr, Expr) 1153#undef EXTVECTORELEMENTEXPR 1154 1155#ifndef FIXEDPOINTLITERAL 1156# define FIXEDPOINTLITERAL(Type, Base) EXPR(Type, Base) 1157#endif 1158FIXEDPOINTLITERAL(FixedPointLiteral, Expr) 1159#undef FIXEDPOINTLITERAL 1160 1161#ifndef FLOATINGLITERAL 1162# define FLOATINGLITERAL(Type, Base) EXPR(Type, Base) 1163#endif 1164FLOATINGLITERAL(FloatingLiteral, Expr) 1165#undef FLOATINGLITERAL 1166 1167#ifndef FULLEXPR 1168# define FULLEXPR(Type, Base) EXPR(Type, Base) 1169#endif 1170ABSTRACT_STMT(FULLEXPR(FullExpr, Expr)) 1171#ifndef CONSTANTEXPR 1172# define CONSTANTEXPR(Type, Base) FULLEXPR(Type, Base) 1173#endif 1174CONSTANTEXPR(ConstantExpr, FullExpr) 1175#undef CONSTANTEXPR 1176 1177#ifndef EXPRWITHCLEANUPS 1178# define EXPRWITHCLEANUPS(Type, Base) FULLEXPR(Type, Base) 1179#endif 1180EXPRWITHCLEANUPS(ExprWithCleanups, FullExpr) 1181#undef EXPRWITHCLEANUPS 1182 1183STMT_RANGE(FullExpr, ConstantExpr, ExprWithCleanups) 1184 1185#undef FULLEXPR 1186 1187#ifndef FUNCTIONPARMPACKEXPR 1188# define FUNCTIONPARMPACKEXPR(Type, Base) EXPR(Type, Base) 1189#endif 1190FUNCTIONPARMPACKEXPR(FunctionParmPackExpr, Expr) 1191#undef FUNCTIONPARMPACKEXPR 1192 1193#ifndef GNUNULLEXPR 1194# define GNUNULLEXPR(Type, Base) EXPR(Type, Base) 1195#endif 1196GNUNULLEXPR(GNUNullExpr, Expr) 1197#undef GNUNULLEXPR 1198 1199#ifndef GENERICSELECTIONEXPR 1200# define GENERICSELECTIONEXPR(Type, Base) EXPR(Type, Base) 1201#endif 1202GENERICSELECTIONEXPR(GenericSelectionExpr, Expr) 1203#undef GENERICSELECTIONEXPR 1204 1205#ifndef IMAGINARYLITERAL 1206# define IMAGINARYLITERAL(Type, Base) EXPR(Type, Base) 1207#endif 1208IMAGINARYLITERAL(ImaginaryLiteral, Expr) 1209#undef IMAGINARYLITERAL 1210 1211#ifndef IMPLICITVALUEINITEXPR 1212# define IMPLICITVALUEINITEXPR(Type, Base) EXPR(Type, Base) 1213#endif 1214IMPLICITVALUEINITEXPR(ImplicitValueInitExpr, Expr) 1215#undef IMPLICITVALUEINITEXPR 1216 1217#ifndef INITLISTEXPR 1218# define INITLISTEXPR(Type, Base) EXPR(Type, Base) 1219#endif 1220INITLISTEXPR(InitListExpr, Expr) 1221#undef INITLISTEXPR 1222 1223#ifndef INTEGERLITERAL 1224# define INTEGERLITERAL(Type, Base) EXPR(Type, Base) 1225#endif 1226INTEGERLITERAL(IntegerLiteral, Expr) 1227#undef INTEGERLITERAL 1228 1229#ifndef LAMBDAEXPR 1230# define LAMBDAEXPR(Type, Base) EXPR(Type, Base) 1231#endif 1232LAMBDAEXPR(LambdaExpr, Expr) 1233#undef LAMBDAEXPR 1234 1235#ifndef MSPROPERTYREFEXPR 1236# define MSPROPERTYREFEXPR(Type, Base) EXPR(Type, Base) 1237#endif 1238MSPROPERTYREFEXPR(MSPropertyRefExpr, Expr) 1239#undef MSPROPERTYREFEXPR 1240 1241#ifndef MSPROPERTYSUBSCRIPTEXPR 1242# define MSPROPERTYSUBSCRIPTEXPR(Type, Base) EXPR(Type, Base) 1243#endif 1244MSPROPERTYSUBSCRIPTEXPR(MSPropertySubscriptExpr, Expr) 1245#undef MSPROPERTYSUBSCRIPTEXPR 1246 1247#ifndef MATERIALIZETEMPORARYEXPR 1248# define MATERIALIZETEMPORARYEXPR(Type, Base) EXPR(Type, Base) 1249#endif 1250MATERIALIZETEMPORARYEXPR(MaterializeTemporaryExpr, Expr) 1251#undef MATERIALIZETEMPORARYEXPR 1252 1253#ifndef MATRIXSUBSCRIPTEXPR 1254# define MATRIXSUBSCRIPTEXPR(Type, Base) EXPR(Type, Base) 1255#endif 1256MATRIXSUBSCRIPTEXPR(MatrixSubscriptExpr, Expr) 1257#undef MATRIXSUBSCRIPTEXPR 1258 1259#ifndef MEMBEREXPR 1260# define MEMBEREXPR(Type, Base) EXPR(Type, Base) 1261#endif 1262MEMBEREXPR(MemberExpr, Expr) 1263#undef MEMBEREXPR 1264 1265#ifndef NOINITEXPR 1266# define NOINITEXPR(Type, Base) EXPR(Type, Base) 1267#endif 1268NOINITEXPR(NoInitExpr, Expr) 1269#undef NOINITEXPR 1270 1271#ifndef OMPARRAYSECTIONEXPR 1272# define OMPARRAYSECTIONEXPR(Type, Base) EXPR(Type, Base) 1273#endif 1274OMPARRAYSECTIONEXPR(OMPArraySectionExpr, Expr) 1275#undef OMPARRAYSECTIONEXPR 1276 1277#ifndef OMPARRAYSHAPINGEXPR 1278# define OMPARRAYSHAPINGEXPR(Type, Base) EXPR(Type, Base) 1279#endif 1280OMPARRAYSHAPINGEXPR(OMPArrayShapingExpr, Expr) 1281#undef OMPARRAYSHAPINGEXPR 1282 1283#ifndef OMPITERATOREXPR 1284# define OMPITERATOREXPR(Type, Base) EXPR(Type, Base) 1285#endif 1286OMPITERATOREXPR(OMPIteratorExpr, Expr) 1287#undef OMPITERATOREXPR 1288 1289#ifndef OBJCARRAYLITERAL 1290# define OBJCARRAYLITERAL(Type, Base) EXPR(Type, Base) 1291#endif 1292OBJCARRAYLITERAL(ObjCArrayLiteral, Expr) 1293#undef OBJCARRAYLITERAL 1294 1295#ifndef OBJCAVAILABILITYCHECKEXPR 1296# define OBJCAVAILABILITYCHECKEXPR(Type, Base) EXPR(Type, Base) 1297#endif 1298OBJCAVAILABILITYCHECKEXPR(ObjCAvailabilityCheckExpr, Expr) 1299#undef OBJCAVAILABILITYCHECKEXPR 1300 1301#ifndef OBJCBOOLLITERALEXPR 1302# define OBJCBOOLLITERALEXPR(Type, Base) EXPR(Type, Base) 1303#endif 1304OBJCBOOLLITERALEXPR(ObjCBoolLiteralExpr, Expr) 1305#undef OBJCBOOLLITERALEXPR 1306 1307#ifndef OBJCBOXEDEXPR 1308# define OBJCBOXEDEXPR(Type, Base) EXPR(Type, Base) 1309#endif 1310OBJCBOXEDEXPR(ObjCBoxedExpr, Expr) 1311#undef OBJCBOXEDEXPR 1312 1313#ifndef OBJCDICTIONARYLITERAL 1314# define OBJCDICTIONARYLITERAL(Type, Base) EXPR(Type, Base) 1315#endif 1316OBJCDICTIONARYLITERAL(ObjCDictionaryLiteral, Expr) 1317#undef OBJCDICTIONARYLITERAL 1318 1319#ifndef OBJCENCODEEXPR 1320# define OBJCENCODEEXPR(Type, Base) EXPR(Type, Base) 1321#endif 1322OBJCENCODEEXPR(ObjCEncodeExpr, Expr) 1323#undef OBJCENCODEEXPR 1324 1325#ifndef OBJCINDIRECTCOPYRESTOREEXPR 1326# define OBJCINDIRECTCOPYRESTOREEXPR(Type, Base) EXPR(Type, Base) 1327#endif 1328OBJCINDIRECTCOPYRESTOREEXPR(ObjCIndirectCopyRestoreExpr, Expr) 1329#undef OBJCINDIRECTCOPYRESTOREEXPR 1330 1331#ifndef OBJCISAEXPR 1332# define OBJCISAEXPR(Type, Base) EXPR(Type, Base) 1333#endif 1334OBJCISAEXPR(ObjCIsaExpr, Expr) 1335#undef OBJCISAEXPR 1336 1337#ifndef OBJCIVARREFEXPR 1338# define OBJCIVARREFEXPR(Type, Base) EXPR(Type, Base) 1339#endif 1340OBJCIVARREFEXPR(ObjCIvarRefExpr, Expr) 1341#undef OBJCIVARREFEXPR 1342 1343#ifndef OBJCMESSAGEEXPR 1344# define OBJCMESSAGEEXPR(Type, Base) EXPR(Type, Base) 1345#endif 1346OBJCMESSAGEEXPR(ObjCMessageExpr, Expr) 1347#undef OBJCMESSAGEEXPR 1348 1349#ifndef OBJCPROPERTYREFEXPR 1350# define OBJCPROPERTYREFEXPR(Type, Base) EXPR(Type, Base) 1351#endif 1352OBJCPROPERTYREFEXPR(ObjCPropertyRefExpr, Expr) 1353#undef OBJCPROPERTYREFEXPR 1354 1355#ifndef OBJCPROTOCOLEXPR 1356# define OBJCPROTOCOLEXPR(Type, Base) EXPR(Type, Base) 1357#endif 1358OBJCPROTOCOLEXPR(ObjCProtocolExpr, Expr) 1359#undef OBJCPROTOCOLEXPR 1360 1361#ifndef OBJCSELECTOREXPR 1362# define OBJCSELECTOREXPR(Type, Base) EXPR(Type, Base) 1363#endif 1364OBJCSELECTOREXPR(ObjCSelectorExpr, Expr) 1365#undef OBJCSELECTOREXPR 1366 1367#ifndef OBJCSTRINGLITERAL 1368# define OBJCSTRINGLITERAL(Type, Base) EXPR(Type, Base) 1369#endif 1370OBJCSTRINGLITERAL(ObjCStringLiteral, Expr) 1371#undef OBJCSTRINGLITERAL 1372 1373#ifndef OBJCSUBSCRIPTREFEXPR 1374# define OBJCSUBSCRIPTREFEXPR(Type, Base) EXPR(Type, Base) 1375#endif 1376OBJCSUBSCRIPTREFEXPR(ObjCSubscriptRefExpr, Expr) 1377#undef OBJCSUBSCRIPTREFEXPR 1378 1379#ifndef OFFSETOFEXPR 1380# define OFFSETOFEXPR(Type, Base) EXPR(Type, Base) 1381#endif 1382OFFSETOFEXPR(OffsetOfExpr, Expr) 1383#undef OFFSETOFEXPR 1384 1385#ifndef OPAQUEVALUEEXPR 1386# define OPAQUEVALUEEXPR(Type, Base) EXPR(Type, Base) 1387#endif 1388OPAQUEVALUEEXPR(OpaqueValueExpr, Expr) 1389#undef OPAQUEVALUEEXPR 1390 1391#ifndef OVERLOADEXPR 1392# define OVERLOADEXPR(Type, Base) EXPR(Type, Base) 1393#endif 1394ABSTRACT_STMT(OVERLOADEXPR(OverloadExpr, Expr)) 1395#ifndef UNRESOLVEDLOOKUPEXPR 1396# define UNRESOLVEDLOOKUPEXPR(Type, Base) OVERLOADEXPR(Type, Base) 1397#endif 1398UNRESOLVEDLOOKUPEXPR(UnresolvedLookupExpr, OverloadExpr) 1399#undef UNRESOLVEDLOOKUPEXPR 1400 1401#ifndef UNRESOLVEDMEMBEREXPR 1402# define UNRESOLVEDMEMBEREXPR(Type, Base) OVERLOADEXPR(Type, Base) 1403#endif 1404UNRESOLVEDMEMBEREXPR(UnresolvedMemberExpr, OverloadExpr) 1405#undef UNRESOLVEDMEMBEREXPR 1406 1407STMT_RANGE(OverloadExpr, UnresolvedLookupExpr, UnresolvedMemberExpr) 1408 1409#undef OVERLOADEXPR 1410 1411#ifndef PACKEXPANSIONEXPR 1412# define PACKEXPANSIONEXPR(Type, Base) EXPR(Type, Base) 1413#endif 1414PACKEXPANSIONEXPR(PackExpansionExpr, Expr) 1415#undef PACKEXPANSIONEXPR 1416 1417#ifndef PARENEXPR 1418# define PARENEXPR(Type, Base) EXPR(Type, Base) 1419#endif 1420PARENEXPR(ParenExpr, Expr) 1421#undef PARENEXPR 1422 1423#ifndef PARENLISTEXPR 1424# define PARENLISTEXPR(Type, Base) EXPR(Type, Base) 1425#endif 1426PARENLISTEXPR(ParenListExpr, Expr) 1427#undef PARENLISTEXPR 1428 1429#ifndef PREDEFINEDEXPR 1430# define PREDEFINEDEXPR(Type, Base) EXPR(Type, Base) 1431#endif 1432PREDEFINEDEXPR(PredefinedExpr, Expr) 1433#undef PREDEFINEDEXPR 1434 1435#ifndef PSEUDOOBJECTEXPR 1436# define PSEUDOOBJECTEXPR(Type, Base) EXPR(Type, Base) 1437#endif 1438PSEUDOOBJECTEXPR(PseudoObjectExpr, Expr) 1439#undef PSEUDOOBJECTEXPR 1440 1441#ifndef RECOVERYEXPR 1442# define RECOVERYEXPR(Type, Base) EXPR(Type, Base) 1443#endif 1444RECOVERYEXPR(RecoveryExpr, Expr) 1445#undef RECOVERYEXPR 1446 1447#ifndef REQUIRESEXPR 1448# define REQUIRESEXPR(Type, Base) EXPR(Type, Base) 1449#endif 1450REQUIRESEXPR(RequiresExpr, Expr) 1451#undef REQUIRESEXPR 1452 1453#ifndef SYCLUNIQUESTABLENAMEEXPR 1454# define SYCLUNIQUESTABLENAMEEXPR(Type, Base) EXPR(Type, Base) 1455#endif 1456SYCLUNIQUESTABLENAMEEXPR(SYCLUniqueStableNameExpr, Expr) 1457#undef SYCLUNIQUESTABLENAMEEXPR 1458 1459#ifndef SHUFFLEVECTOREXPR 1460# define SHUFFLEVECTOREXPR(Type, Base) EXPR(Type, Base) 1461#endif 1462SHUFFLEVECTOREXPR(ShuffleVectorExpr, Expr) 1463#undef SHUFFLEVECTOREXPR 1464 1465#ifndef SIZEOFPACKEXPR 1466# define SIZEOFPACKEXPR(Type, Base) EXPR(Type, Base) 1467#endif 1468SIZEOFPACKEXPR(SizeOfPackExpr, Expr) 1469#undef SIZEOFPACKEXPR 1470 1471#ifndef SOURCELOCEXPR 1472# define SOURCELOCEXPR(Type, Base) EXPR(Type, Base) 1473#endif 1474SOURCELOCEXPR(SourceLocExpr, Expr) 1475#undef SOURCELOCEXPR 1476 1477#ifndef STMTEXPR 1478# define STMTEXPR(Type, Base) EXPR(Type, Base) 1479#endif 1480STMTEXPR(StmtExpr, Expr) 1481#undef STMTEXPR 1482 1483#ifndef STRINGLITERAL 1484# define STRINGLITERAL(Type, Base) EXPR(Type, Base) 1485#endif 1486STRINGLITERAL(StringLiteral, Expr) 1487#undef STRINGLITERAL 1488 1489#ifndef SUBSTNONTYPETEMPLATEPARMEXPR 1490# define SUBSTNONTYPETEMPLATEPARMEXPR(Type, Base) EXPR(Type, Base) 1491#endif 1492SUBSTNONTYPETEMPLATEPARMEXPR(SubstNonTypeTemplateParmExpr, Expr) 1493#undef SUBSTNONTYPETEMPLATEPARMEXPR 1494 1495#ifndef SUBSTNONTYPETEMPLATEPARMPACKEXPR 1496# define SUBSTNONTYPETEMPLATEPARMPACKEXPR(Type, Base) EXPR(Type, Base) 1497#endif 1498SUBSTNONTYPETEMPLATEPARMPACKEXPR(SubstNonTypeTemplateParmPackExpr, Expr) 1499#undef SUBSTNONTYPETEMPLATEPARMPACKEXPR 1500 1501#ifndef TYPETRAITEXPR 1502# define TYPETRAITEXPR(Type, Base) EXPR(Type, Base) 1503#endif 1504TYPETRAITEXPR(TypeTraitExpr, Expr) 1505#undef TYPETRAITEXPR 1506 1507#ifndef TYPOEXPR 1508# define TYPOEXPR(Type, Base) EXPR(Type, Base) 1509#endif 1510TYPOEXPR(TypoExpr, Expr) 1511#undef TYPOEXPR 1512 1513#ifndef UNARYEXPRORTYPETRAITEXPR 1514# define UNARYEXPRORTYPETRAITEXPR(Type, Base) EXPR(Type, Base) 1515#endif 1516UNARYEXPRORTYPETRAITEXPR(UnaryExprOrTypeTraitExpr, Expr) 1517#undef UNARYEXPRORTYPETRAITEXPR 1518 1519#ifndef UNARYOPERATOR 1520# define UNARYOPERATOR(Type, Base) EXPR(Type, Base) 1521#endif 1522UNARYOPERATOR(UnaryOperator, Expr) 1523#undef UNARYOPERATOR 1524 1525#ifndef VAARGEXPR 1526# define VAARGEXPR(Type, Base) EXPR(Type, Base) 1527#endif 1528VAARGEXPR(VAArgExpr, Expr) 1529#undef VAARGEXPR 1530 1531STMT_RANGE(Expr, BinaryConditionalOperator, VAArgExpr) 1532 1533#undef EXPR 1534 1535#ifndef LABELSTMT 1536# define LABELSTMT(Type, Base) VALUESTMT(Type, Base) 1537#endif 1538LABELSTMT(LabelStmt, ValueStmt) 1539#undef LABELSTMT 1540 1541STMT_RANGE(ValueStmt, AttributedStmt, LabelStmt) 1542 1543#undef VALUESTMT 1544 1545#ifndef WHILESTMT 1546# define WHILESTMT(Type, Base) STMT(Type, Base) 1547#endif 1548WHILESTMT(WhileStmt, Stmt) 1549#undef WHILESTMT 1550 1551LAST_STMT_RANGE(Stmt, GCCAsmStmt, WhileStmt) 1552 1553#undef STMT 1554#undef STMT_RANGE 1555#undef LAST_STMT_RANGE 1556#undef ABSTRACT_STMT 1557