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