• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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