llvm/tools/clang/include/clang/AST/StmtNodes.inc

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* List of AST nodes of a particular kind                                     *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: StmtNodes.td                                                         *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

#ifndef ABSTRACT_STMT
#define ABSTRACT_STMT
#endif
#ifndef STMT_RANGE
#define STMT_RANGE
#endif

#ifndef LAST_STMT_RANGE
#define LAST_STMT_RANGE
#endif

#ifndef WHILESTMT
#define WHILESTMT
#endif
WHILESTMT(WhileStmt, Stmt)
#undef WHILESTMT

#ifndef VALUESTMT
#define VALUESTMT
#endif
ABSTRACT_STMT
#ifndef LABELSTMT
#define LABELSTMT
#endif
LABELSTMT(LabelStmt, ValueStmt)
#undef LABELSTMT

#ifndef EXPR
#define EXPR
#endif
ABSTRACT_STMT
#ifndef VAARGEXPR
#define VAARGEXPR
#endif
VAARGEXPR(VAArgExpr, Expr)
#undef VAARGEXPR

#ifndef UNARYOPERATOR
#define UNARYOPERATOR
#endif
UNARYOPERATOR(UnaryOperator, Expr)
#undef UNARYOPERATOR

#ifndef UNARYEXPRORTYPETRAITEXPR
#define UNARYEXPRORTYPETRAITEXPR
#endif
UNARYEXPRORTYPETRAITEXPR(UnaryExprOrTypeTraitExpr, Expr)
#undef UNARYEXPRORTYPETRAITEXPR

#ifndef TYPOEXPR
#define TYPOEXPR
#endif
TYPOEXPR(TypoExpr, Expr)
#undef TYPOEXPR

#ifndef TYPETRAITEXPR
#define TYPETRAITEXPR
#endif
TYPETRAITEXPR(TypeTraitExpr, Expr)
#undef TYPETRAITEXPR

#ifndef SUBSTNONTYPETEMPLATEPARMPACKEXPR
#define SUBSTNONTYPETEMPLATEPARMPACKEXPR
#endif
SUBSTNONTYPETEMPLATEPARMPACKEXPR(SubstNonTypeTemplateParmPackExpr, Expr)
#undef SUBSTNONTYPETEMPLATEPARMPACKEXPR

#ifndef SUBSTNONTYPETEMPLATEPARMEXPR
#define SUBSTNONTYPETEMPLATEPARMEXPR
#endif
SUBSTNONTYPETEMPLATEPARMEXPR(SubstNonTypeTemplateParmExpr, Expr)
#undef SUBSTNONTYPETEMPLATEPARMEXPR

#ifndef STRINGLITERAL
#define STRINGLITERAL
#endif
STRINGLITERAL(StringLiteral, Expr)
#undef STRINGLITERAL

#ifndef STMTEXPR
#define STMTEXPR
#endif
STMTEXPR(StmtExpr, Expr)
#undef STMTEXPR

#ifndef SOURCELOCEXPR
#define SOURCELOCEXPR
#endif
SOURCELOCEXPR(SourceLocExpr, Expr)
#undef SOURCELOCEXPR

#ifndef SIZEOFPACKEXPR
#define SIZEOFPACKEXPR
#endif
SIZEOFPACKEXPR(SizeOfPackExpr, Expr)
#undef SIZEOFPACKEXPR

#ifndef SHUFFLEVECTOREXPR
#define SHUFFLEVECTOREXPR
#endif
SHUFFLEVECTOREXPR(ShuffleVectorExpr, Expr)
#undef SHUFFLEVECTOREXPR

#ifndef SYCLUNIQUESTABLENAMEEXPR
#define SYCLUNIQUESTABLENAMEEXPR
#endif
SYCLUNIQUESTABLENAMEEXPR(SYCLUniqueStableNameExpr, Expr)
#undef SYCLUNIQUESTABLENAMEEXPR

#ifndef REQUIRESEXPR
#define REQUIRESEXPR
#endif
REQUIRESEXPR(RequiresExpr, Expr)
#undef REQUIRESEXPR

#ifndef RECOVERYEXPR
#define RECOVERYEXPR
#endif
RECOVERYEXPR(RecoveryExpr, Expr)
#undef RECOVERYEXPR

#ifndef PSEUDOOBJECTEXPR
#define PSEUDOOBJECTEXPR
#endif
PSEUDOOBJECTEXPR(PseudoObjectExpr, Expr)
#undef PSEUDOOBJECTEXPR

#ifndef PREDEFINEDEXPR
#define PREDEFINEDEXPR
#endif
PREDEFINEDEXPR(PredefinedExpr, Expr)
#undef PREDEFINEDEXPR

#ifndef PARENLISTEXPR
#define PARENLISTEXPR
#endif
PARENLISTEXPR(ParenListExpr, Expr)
#undef PARENLISTEXPR

#ifndef PARENEXPR
#define PARENEXPR
#endif
PARENEXPR(ParenExpr, Expr)
#undef PARENEXPR

#ifndef PACKINDEXINGEXPR
#define PACKINDEXINGEXPR
#endif
PACKINDEXINGEXPR(PackIndexingExpr, Expr)
#undef PACKINDEXINGEXPR

#ifndef PACKEXPANSIONEXPR
#define PACKEXPANSIONEXPR
#endif
PACKEXPANSIONEXPR(PackExpansionExpr, Expr)
#undef PACKEXPANSIONEXPR

#ifndef OVERLOADEXPR
#define OVERLOADEXPR
#endif
ABSTRACT_STMT
#ifndef UNRESOLVEDMEMBEREXPR
#define UNRESOLVEDMEMBEREXPR
#endif
UNRESOLVEDMEMBEREXPR(UnresolvedMemberExpr, OverloadExpr)
#undef UNRESOLVEDMEMBEREXPR

#ifndef UNRESOLVEDLOOKUPEXPR
#define UNRESOLVEDLOOKUPEXPR
#endif
UNRESOLVEDLOOKUPEXPR(UnresolvedLookupExpr, OverloadExpr)
#undef UNRESOLVEDLOOKUPEXPR

STMT_RANGE

#undef OVERLOADEXPR

#ifndef OPENACCASTERISKSIZEEXPR
#define OPENACCASTERISKSIZEEXPR
#endif
OPENACCASTERISKSIZEEXPR(OpenACCAsteriskSizeExpr, Expr)
#undef OPENACCASTERISKSIZEEXPR

#ifndef OPAQUEVALUEEXPR
#define OPAQUEVALUEEXPR
#endif
OPAQUEVALUEEXPR(OpaqueValueExpr, Expr)
#undef OPAQUEVALUEEXPR

#ifndef OFFSETOFEXPR
#define OFFSETOFEXPR
#endif
OFFSETOFEXPR(OffsetOfExpr, Expr)
#undef OFFSETOFEXPR

#ifndef OBJCSUBSCRIPTREFEXPR
#define OBJCSUBSCRIPTREFEXPR
#endif
OBJCSUBSCRIPTREFEXPR(ObjCSubscriptRefExpr, Expr)
#undef OBJCSUBSCRIPTREFEXPR

#ifndef OBJCSTRINGLITERAL
#define OBJCSTRINGLITERAL
#endif
OBJCSTRINGLITERAL(ObjCStringLiteral, Expr)
#undef OBJCSTRINGLITERAL

#ifndef OBJCSELECTOREXPR
#define OBJCSELECTOREXPR
#endif
OBJCSELECTOREXPR(ObjCSelectorExpr, Expr)
#undef OBJCSELECTOREXPR

#ifndef OBJCPROTOCOLEXPR
#define OBJCPROTOCOLEXPR
#endif
OBJCPROTOCOLEXPR(ObjCProtocolExpr, Expr)
#undef OBJCPROTOCOLEXPR

#ifndef OBJCPROPERTYREFEXPR
#define OBJCPROPERTYREFEXPR
#endif
OBJCPROPERTYREFEXPR(ObjCPropertyRefExpr, Expr)
#undef OBJCPROPERTYREFEXPR

#ifndef OBJCMESSAGEEXPR
#define OBJCMESSAGEEXPR
#endif
OBJCMESSAGEEXPR(ObjCMessageExpr, Expr)
#undef OBJCMESSAGEEXPR

#ifndef OBJCIVARREFEXPR
#define OBJCIVARREFEXPR
#endif
OBJCIVARREFEXPR(ObjCIvarRefExpr, Expr)
#undef OBJCIVARREFEXPR

#ifndef OBJCISAEXPR
#define OBJCISAEXPR
#endif
OBJCISAEXPR(ObjCIsaExpr, Expr)
#undef OBJCISAEXPR

#ifndef OBJCINDIRECTCOPYRESTOREEXPR
#define OBJCINDIRECTCOPYRESTOREEXPR
#endif
OBJCINDIRECTCOPYRESTOREEXPR(ObjCIndirectCopyRestoreExpr, Expr)
#undef OBJCINDIRECTCOPYRESTOREEXPR

#ifndef OBJCENCODEEXPR
#define OBJCENCODEEXPR
#endif
OBJCENCODEEXPR(ObjCEncodeExpr, Expr)
#undef OBJCENCODEEXPR

#ifndef OBJCDICTIONARYLITERAL
#define OBJCDICTIONARYLITERAL
#endif
OBJCDICTIONARYLITERAL(ObjCDictionaryLiteral, Expr)
#undef OBJCDICTIONARYLITERAL

#ifndef OBJCBOXEDEXPR
#define OBJCBOXEDEXPR
#endif
OBJCBOXEDEXPR(ObjCBoxedExpr, Expr)
#undef OBJCBOXEDEXPR

#ifndef OBJCBOOLLITERALEXPR
#define OBJCBOOLLITERALEXPR
#endif
OBJCBOOLLITERALEXPR(ObjCBoolLiteralExpr, Expr)
#undef OBJCBOOLLITERALEXPR

#ifndef OBJCAVAILABILITYCHECKEXPR
#define OBJCAVAILABILITYCHECKEXPR
#endif
OBJCAVAILABILITYCHECKEXPR(ObjCAvailabilityCheckExpr, Expr)
#undef OBJCAVAILABILITYCHECKEXPR

#ifndef OBJCARRAYLITERAL
#define OBJCARRAYLITERAL
#endif
OBJCARRAYLITERAL(ObjCArrayLiteral, Expr)
#undef OBJCARRAYLITERAL

#ifndef OMPITERATOREXPR
#define OMPITERATOREXPR
#endif
OMPITERATOREXPR(OMPIteratorExpr, Expr)
#undef OMPITERATOREXPR

#ifndef OMPARRAYSHAPINGEXPR
#define OMPARRAYSHAPINGEXPR
#endif
OMPARRAYSHAPINGEXPR(OMPArrayShapingExpr, Expr)
#undef OMPARRAYSHAPINGEXPR

#ifndef NOINITEXPR
#define NOINITEXPR
#endif
NOINITEXPR(NoInitExpr, Expr)
#undef NOINITEXPR

#ifndef MEMBEREXPR
#define MEMBEREXPR
#endif
MEMBEREXPR(MemberExpr, Expr)
#undef MEMBEREXPR

#ifndef MATRIXSUBSCRIPTEXPR
#define MATRIXSUBSCRIPTEXPR
#endif
MATRIXSUBSCRIPTEXPR(MatrixSubscriptExpr, Expr)
#undef MATRIXSUBSCRIPTEXPR

#ifndef MATERIALIZETEMPORARYEXPR
#define MATERIALIZETEMPORARYEXPR
#endif
MATERIALIZETEMPORARYEXPR(MaterializeTemporaryExpr, Expr)
#undef MATERIALIZETEMPORARYEXPR

#ifndef MSPROPERTYSUBSCRIPTEXPR
#define MSPROPERTYSUBSCRIPTEXPR
#endif
MSPROPERTYSUBSCRIPTEXPR(MSPropertySubscriptExpr, Expr)
#undef MSPROPERTYSUBSCRIPTEXPR

#ifndef MSPROPERTYREFEXPR
#define MSPROPERTYREFEXPR
#endif
MSPROPERTYREFEXPR(MSPropertyRefExpr, Expr)
#undef MSPROPERTYREFEXPR

#ifndef LAMBDAEXPR
#define LAMBDAEXPR
#endif
LAMBDAEXPR(LambdaExpr, Expr)
#undef LAMBDAEXPR

#ifndef INTEGERLITERAL
#define INTEGERLITERAL
#endif
INTEGERLITERAL(IntegerLiteral, Expr)
#undef INTEGERLITERAL

#ifndef INITLISTEXPR
#define INITLISTEXPR
#endif
INITLISTEXPR(InitListExpr, Expr)
#undef INITLISTEXPR

#ifndef IMPLICITVALUEINITEXPR
#define IMPLICITVALUEINITEXPR
#endif
IMPLICITVALUEINITEXPR(ImplicitValueInitExpr, Expr)
#undef IMPLICITVALUEINITEXPR

#ifndef IMAGINARYLITERAL
#define IMAGINARYLITERAL
#endif
IMAGINARYLITERAL(ImaginaryLiteral, Expr)
#undef IMAGINARYLITERAL

#ifndef HLSLOUTARGEXPR
#define HLSLOUTARGEXPR
#endif
HLSLOUTARGEXPR(HLSLOutArgExpr, Expr)
#undef HLSLOUTARGEXPR

#ifndef GENERICSELECTIONEXPR
#define GENERICSELECTIONEXPR
#endif
GENERICSELECTIONEXPR(GenericSelectionExpr, Expr)
#undef GENERICSELECTIONEXPR

#ifndef GNUNULLEXPR
#define GNUNULLEXPR
#endif
GNUNULLEXPR(GNUNullExpr, Expr)
#undef GNUNULLEXPR

#ifndef FUNCTIONPARMPACKEXPR
#define FUNCTIONPARMPACKEXPR
#endif
FUNCTIONPARMPACKEXPR(FunctionParmPackExpr, Expr)
#undef FUNCTIONPARMPACKEXPR

#ifndef FULLEXPR
#define FULLEXPR
#endif
ABSTRACT_STMT
#ifndef EXPRWITHCLEANUPS
#define EXPRWITHCLEANUPS
#endif
EXPRWITHCLEANUPS(ExprWithCleanups, FullExpr)
#undef EXPRWITHCLEANUPS

#ifndef CONSTANTEXPR
#define CONSTANTEXPR
#endif
CONSTANTEXPR(ConstantExpr, FullExpr)
#undef CONSTANTEXPR

STMT_RANGE

#undef FULLEXPR

#ifndef FLOATINGLITERAL
#define FLOATINGLITERAL
#endif
FLOATINGLITERAL(FloatingLiteral, Expr)
#undef FLOATINGLITERAL

#ifndef FIXEDPOINTLITERAL
#define FIXEDPOINTLITERAL
#endif
FIXEDPOINTLITERAL(FixedPointLiteral, Expr)
#undef FIXEDPOINTLITERAL

#ifndef EXTVECTORELEMENTEXPR
#define EXTVECTORELEMENTEXPR
#endif
EXTVECTORELEMENTEXPR(ExtVectorElementExpr, Expr)
#undef EXTVECTORELEMENTEXPR

#ifndef EXPRESSIONTRAITEXPR
#define EXPRESSIONTRAITEXPR
#endif
EXPRESSIONTRAITEXPR(ExpressionTraitExpr, Expr)
#undef EXPRESSIONTRAITEXPR

#ifndef EMBEDEXPR
#define EMBEDEXPR
#endif
EMBEDEXPR(EmbedExpr, Expr)
#undef EMBEDEXPR

#ifndef DESIGNATEDINITUPDATEEXPR
#define DESIGNATEDINITUPDATEEXPR
#endif
DESIGNATEDINITUPDATEEXPR(DesignatedInitUpdateExpr, Expr)
#undef DESIGNATEDINITUPDATEEXPR

#ifndef DESIGNATEDINITEXPR
#define DESIGNATEDINITEXPR
#endif
DESIGNATEDINITEXPR(DesignatedInitExpr, Expr)
#undef DESIGNATEDINITEXPR

#ifndef DEPENDENTSCOPEDECLREFEXPR
#define DEPENDENTSCOPEDECLREFEXPR
#endif
DEPENDENTSCOPEDECLREFEXPR(DependentScopeDeclRefExpr, Expr)
#undef DEPENDENTSCOPEDECLREFEXPR

#ifndef DEPENDENTCOAWAITEXPR
#define DEPENDENTCOAWAITEXPR
#endif
DEPENDENTCOAWAITEXPR(DependentCoawaitExpr, Expr)
#undef DEPENDENTCOAWAITEXPR

#ifndef DECLREFEXPR
#define DECLREFEXPR
#endif
DECLREFEXPR(DeclRefExpr, Expr)
#undef DECLREFEXPR

#ifndef COROUTINESUSPENDEXPR
#define COROUTINESUSPENDEXPR
#endif
ABSTRACT_STMT
#ifndef COYIELDEXPR
#define COYIELDEXPR
#endif
COYIELDEXPR(CoyieldExpr, CoroutineSuspendExpr)
#undef COYIELDEXPR

#ifndef COAWAITEXPR
#define COAWAITEXPR
#endif
COAWAITEXPR(CoawaitExpr, CoroutineSuspendExpr)
#undef COAWAITEXPR

STMT_RANGE

#undef COROUTINESUSPENDEXPR

#ifndef CONVERTVECTOREXPR
#define CONVERTVECTOREXPR
#endif
CONVERTVECTOREXPR(ConvertVectorExpr, Expr)
#undef CONVERTVECTOREXPR

#ifndef CONCEPTSPECIALIZATIONEXPR
#define CONCEPTSPECIALIZATIONEXPR
#endif
CONCEPTSPECIALIZATIONEXPR(ConceptSpecializationExpr, Expr)
#undef CONCEPTSPECIALIZATIONEXPR

#ifndef COMPOUNDLITERALEXPR
#define COMPOUNDLITERALEXPR
#endif
COMPOUNDLITERALEXPR(CompoundLiteralExpr, Expr)
#undef COMPOUNDLITERALEXPR

#ifndef CHOOSEEXPR
#define CHOOSEEXPR
#endif
CHOOSEEXPR(ChooseExpr, Expr)
#undef CHOOSEEXPR

#ifndef CHARACTERLITERAL
#define CHARACTERLITERAL
#endif
CHARACTERLITERAL(CharacterLiteral, Expr)
#undef CHARACTERLITERAL

#ifndef CASTEXPR
#define CASTEXPR
#endif
ABSTRACT_STMT
#ifndef IMPLICITCASTEXPR
#define IMPLICITCASTEXPR
#endif
IMPLICITCASTEXPR(ImplicitCastExpr, CastExpr)
#undef IMPLICITCASTEXPR

#ifndef EXPLICITCASTEXPR
#define EXPLICITCASTEXPR
#endif
ABSTRACT_STMT
#ifndef OBJCBRIDGEDCASTEXPR
#define OBJCBRIDGEDCASTEXPR
#endif
OBJCBRIDGEDCASTEXPR(ObjCBridgedCastExpr, ExplicitCastExpr)
#undef OBJCBRIDGEDCASTEXPR

#ifndef CXXNAMEDCASTEXPR
#define CXXNAMEDCASTEXPR
#endif
ABSTRACT_STMT
#ifndef CXXSTATICCASTEXPR
#define CXXSTATICCASTEXPR
#endif
CXXSTATICCASTEXPR(CXXStaticCastExpr, CXXNamedCastExpr)
#undef CXXSTATICCASTEXPR

#ifndef CXXREINTERPRETCASTEXPR
#define CXXREINTERPRETCASTEXPR
#endif
CXXREINTERPRETCASTEXPR(CXXReinterpretCastExpr, CXXNamedCastExpr)
#undef CXXREINTERPRETCASTEXPR

#ifndef CXXDYNAMICCASTEXPR
#define CXXDYNAMICCASTEXPR
#endif
CXXDYNAMICCASTEXPR(CXXDynamicCastExpr, CXXNamedCastExpr)
#undef CXXDYNAMICCASTEXPR

#ifndef CXXCONSTCASTEXPR
#define CXXCONSTCASTEXPR
#endif
CXXCONSTCASTEXPR(CXXConstCastExpr, CXXNamedCastExpr)
#undef CXXCONSTCASTEXPR

#ifndef CXXADDRSPACECASTEXPR
#define CXXADDRSPACECASTEXPR
#endif
CXXADDRSPACECASTEXPR(CXXAddrspaceCastExpr, CXXNamedCastExpr)
#undef CXXADDRSPACECASTEXPR

STMT_RANGE

#undef CXXNAMEDCASTEXPR

#ifndef CXXFUNCTIONALCASTEXPR
#define CXXFUNCTIONALCASTEXPR
#endif
CXXFUNCTIONALCASTEXPR(CXXFunctionalCastExpr, ExplicitCastExpr)
#undef CXXFUNCTIONALCASTEXPR

#ifndef CSTYLECASTEXPR
#define CSTYLECASTEXPR
#endif
CSTYLECASTEXPR(CStyleCastExpr, ExplicitCastExpr)
#undef CSTYLECASTEXPR

#ifndef BUILTINBITCASTEXPR
#define BUILTINBITCASTEXPR
#endif
BUILTINBITCASTEXPR(BuiltinBitCastExpr, ExplicitCastExpr)
#undef BUILTINBITCASTEXPR

STMT_RANGE

#undef EXPLICITCASTEXPR

STMT_RANGE

#undef CASTEXPR

#ifndef CALLEXPR
#define CALLEXPR
#endif
CALLEXPR(CallExpr, Expr)
#ifndef USERDEFINEDLITERAL
#define USERDEFINEDLITERAL
#endif
USERDEFINEDLITERAL(UserDefinedLiteral, CallExpr)
#undef USERDEFINEDLITERAL

#ifndef CXXOPERATORCALLEXPR
#define CXXOPERATORCALLEXPR
#endif
CXXOPERATORCALLEXPR(CXXOperatorCallExpr, CallExpr)
#undef CXXOPERATORCALLEXPR

#ifndef CXXMEMBERCALLEXPR
#define CXXMEMBERCALLEXPR
#endif
CXXMEMBERCALLEXPR(CXXMemberCallExpr, CallExpr)
#undef CXXMEMBERCALLEXPR

#ifndef CUDAKERNELCALLEXPR
#define CUDAKERNELCALLEXPR
#endif
CUDAKERNELCALLEXPR(CUDAKernelCallExpr, CallExpr)
#undef CUDAKERNELCALLEXPR

STMT_RANGE

#undef CALLEXPR

#ifndef CXXUUIDOFEXPR
#define CXXUUIDOFEXPR
#endif
CXXUUIDOFEXPR(CXXUuidofExpr, Expr)
#undef CXXUUIDOFEXPR

#ifndef CXXUNRESOLVEDCONSTRUCTEXPR
#define CXXUNRESOLVEDCONSTRUCTEXPR
#endif
CXXUNRESOLVEDCONSTRUCTEXPR(CXXUnresolvedConstructExpr, Expr)
#undef CXXUNRESOLVEDCONSTRUCTEXPR

#ifndef CXXTYPEIDEXPR
#define CXXTYPEIDEXPR
#endif
CXXTYPEIDEXPR(CXXTypeidExpr, Expr)
#undef CXXTYPEIDEXPR

#ifndef CXXTHROWEXPR
#define CXXTHROWEXPR
#endif
CXXTHROWEXPR(CXXThrowExpr, Expr)
#undef CXXTHROWEXPR

#ifndef CXXTHISEXPR
#define CXXTHISEXPR
#endif
CXXTHISEXPR(CXXThisExpr, Expr)
#undef CXXTHISEXPR

#ifndef CXXSTDINITIALIZERLISTEXPR
#define CXXSTDINITIALIZERLISTEXPR
#endif
CXXSTDINITIALIZERLISTEXPR(CXXStdInitializerListExpr, Expr)
#undef CXXSTDINITIALIZERLISTEXPR

#ifndef CXXSCALARVALUEINITEXPR
#define CXXSCALARVALUEINITEXPR
#endif
CXXSCALARVALUEINITEXPR(CXXScalarValueInitExpr, Expr)
#undef CXXSCALARVALUEINITEXPR

#ifndef CXXREWRITTENBINARYOPERATOR
#define CXXREWRITTENBINARYOPERATOR
#endif
CXXREWRITTENBINARYOPERATOR(CXXRewrittenBinaryOperator, Expr)
#undef CXXREWRITTENBINARYOPERATOR

#ifndef CXXPSEUDODESTRUCTOREXPR
#define CXXPSEUDODESTRUCTOREXPR
#endif
CXXPSEUDODESTRUCTOREXPR(CXXPseudoDestructorExpr, Expr)
#undef CXXPSEUDODESTRUCTOREXPR

#ifndef CXXPARENLISTINITEXPR
#define CXXPARENLISTINITEXPR
#endif
CXXPARENLISTINITEXPR(CXXParenListInitExpr, Expr)
#undef CXXPARENLISTINITEXPR

#ifndef CXXNULLPTRLITERALEXPR
#define CXXNULLPTRLITERALEXPR
#endif
CXXNULLPTRLITERALEXPR(CXXNullPtrLiteralExpr, Expr)
#undef CXXNULLPTRLITERALEXPR

#ifndef CXXNOEXCEPTEXPR
#define CXXNOEXCEPTEXPR
#endif
CXXNOEXCEPTEXPR(CXXNoexceptExpr, Expr)
#undef CXXNOEXCEPTEXPR

#ifndef CXXNEWEXPR
#define CXXNEWEXPR
#endif
CXXNEWEXPR(CXXNewExpr, Expr)
#undef CXXNEWEXPR

#ifndef CXXINHERITEDCTORINITEXPR
#define CXXINHERITEDCTORINITEXPR
#endif
CXXINHERITEDCTORINITEXPR(CXXInheritedCtorInitExpr, Expr)
#undef CXXINHERITEDCTORINITEXPR

#ifndef CXXFOLDEXPR
#define CXXFOLDEXPR
#endif
CXXFOLDEXPR(CXXFoldExpr, Expr)
#undef CXXFOLDEXPR

#ifndef CXXDEPENDENTSCOPEMEMBEREXPR
#define CXXDEPENDENTSCOPEMEMBEREXPR
#endif
CXXDEPENDENTSCOPEMEMBEREXPR(CXXDependentScopeMemberExpr, Expr)
#undef CXXDEPENDENTSCOPEMEMBEREXPR

#ifndef CXXDELETEEXPR
#define CXXDELETEEXPR
#endif
CXXDELETEEXPR(CXXDeleteExpr, Expr)
#undef CXXDELETEEXPR

#ifndef CXXDEFAULTINITEXPR
#define CXXDEFAULTINITEXPR
#endif
CXXDEFAULTINITEXPR(CXXDefaultInitExpr, Expr)
#undef CXXDEFAULTINITEXPR

#ifndef CXXDEFAULTARGEXPR
#define CXXDEFAULTARGEXPR
#endif
CXXDEFAULTARGEXPR(CXXDefaultArgExpr, Expr)
#undef CXXDEFAULTARGEXPR

#ifndef CXXCONSTRUCTEXPR
#define CXXCONSTRUCTEXPR
#endif
CXXCONSTRUCTEXPR(CXXConstructExpr, Expr)
#ifndef CXXTEMPORARYOBJECTEXPR
#define CXXTEMPORARYOBJECTEXPR
#endif
CXXTEMPORARYOBJECTEXPR(CXXTemporaryObjectExpr, CXXConstructExpr)
#undef CXXTEMPORARYOBJECTEXPR

STMT_RANGE

#undef CXXCONSTRUCTEXPR

#ifndef CXXBOOLLITERALEXPR
#define CXXBOOLLITERALEXPR
#endif
CXXBOOLLITERALEXPR(CXXBoolLiteralExpr, Expr)
#undef CXXBOOLLITERALEXPR

#ifndef CXXBINDTEMPORARYEXPR
#define CXXBINDTEMPORARYEXPR
#endif
CXXBINDTEMPORARYEXPR(CXXBindTemporaryExpr, Expr)
#undef CXXBINDTEMPORARYEXPR

#ifndef BLOCKEXPR
#define BLOCKEXPR
#endif
BLOCKEXPR(BlockExpr, Expr)
#undef BLOCKEXPR

#ifndef BINARYOPERATOR
#define BINARYOPERATOR
#endif
BINARYOPERATOR(BinaryOperator, Expr)
#ifndef COMPOUNDASSIGNOPERATOR
#define COMPOUNDASSIGNOPERATOR
#endif
COMPOUNDASSIGNOPERATOR(CompoundAssignOperator, BinaryOperator)
#undef COMPOUNDASSIGNOPERATOR

STMT_RANGE

#undef BINARYOPERATOR

#ifndef ATOMICEXPR
#define ATOMICEXPR
#endif
ATOMICEXPR(AtomicExpr, Expr)
#undef ATOMICEXPR

#ifndef ASTYPEEXPR
#define ASTYPEEXPR
#endif
ASTYPEEXPR(AsTypeExpr, Expr)
#undef ASTYPEEXPR

#ifndef ARRAYTYPETRAITEXPR
#define ARRAYTYPETRAITEXPR
#endif
ARRAYTYPETRAITEXPR(ArrayTypeTraitExpr, Expr)
#undef ARRAYTYPETRAITEXPR

#ifndef ARRAYSUBSCRIPTEXPR
#define ARRAYSUBSCRIPTEXPR
#endif
ARRAYSUBSCRIPTEXPR(ArraySubscriptExpr, Expr)
#undef ARRAYSUBSCRIPTEXPR

#ifndef ARRAYSECTIONEXPR
#define ARRAYSECTIONEXPR
#endif
ARRAYSECTIONEXPR(ArraySectionExpr, Expr)
#undef ARRAYSECTIONEXPR

#ifndef ARRAYINITLOOPEXPR
#define ARRAYINITLOOPEXPR
#endif
ARRAYINITLOOPEXPR(ArrayInitLoopExpr, Expr)
#undef ARRAYINITLOOPEXPR

#ifndef ARRAYINITINDEXEXPR
#define ARRAYINITINDEXEXPR
#endif
ARRAYINITINDEXEXPR(ArrayInitIndexExpr, Expr)
#undef ARRAYINITINDEXEXPR

#ifndef ADDRLABELEXPR
#define ADDRLABELEXPR
#endif
ADDRLABELEXPR(AddrLabelExpr, Expr)
#undef ADDRLABELEXPR

#ifndef ABSTRACTCONDITIONALOPERATOR
#define ABSTRACTCONDITIONALOPERATOR
#endif
ABSTRACT_STMT
#ifndef CONDITIONALOPERATOR
#define CONDITIONALOPERATOR
#endif
CONDITIONALOPERATOR(ConditionalOperator, AbstractConditionalOperator)
#undef CONDITIONALOPERATOR

#ifndef BINARYCONDITIONALOPERATOR
#define BINARYCONDITIONALOPERATOR
#endif
BINARYCONDITIONALOPERATOR(BinaryConditionalOperator, AbstractConditionalOperator)
#undef BINARYCONDITIONALOPERATOR

STMT_RANGE

#undef ABSTRACTCONDITIONALOPERATOR

STMT_RANGE

#undef EXPR

#ifndef ATTRIBUTEDSTMT
#define ATTRIBUTEDSTMT
#endif
ATTRIBUTEDSTMT(AttributedStmt, ValueStmt)
#undef ATTRIBUTEDSTMT

STMT_RANGE

#undef VALUESTMT

#ifndef SWITCHSTMT
#define SWITCHSTMT
#endif
SWITCHSTMT(SwitchStmt, Stmt)
#undef SWITCHSTMT

#ifndef SWITCHCASE
#define SWITCHCASE
#endif
ABSTRACT_STMT
#ifndef DEFAULTSTMT
#define DEFAULTSTMT
#endif
DEFAULTSTMT(DefaultStmt, SwitchCase)
#undef DEFAULTSTMT

#ifndef CASESTMT
#define CASESTMT
#endif
CASESTMT(CaseStmt, SwitchCase)
#undef CASESTMT

STMT_RANGE

#undef SWITCHCASE

#ifndef SEHTRYSTMT
#define SEHTRYSTMT
#endif
SEHTRYSTMT(SEHTryStmt, Stmt)
#undef SEHTRYSTMT

#ifndef SEHLEAVESTMT
#define SEHLEAVESTMT
#endif
SEHLEAVESTMT(SEHLeaveStmt, Stmt)
#undef SEHLEAVESTMT

#ifndef SEHFINALLYSTMT
#define SEHFINALLYSTMT
#endif
SEHFINALLYSTMT(SEHFinallyStmt, Stmt)
#undef SEHFINALLYSTMT

#ifndef SEHEXCEPTSTMT
#define SEHEXCEPTSTMT
#endif
SEHEXCEPTSTMT(SEHExceptStmt, Stmt)
#undef SEHEXCEPTSTMT

#ifndef RETURNSTMT
#define RETURNSTMT
#endif
RETURNSTMT(ReturnStmt, Stmt)
#undef RETURNSTMT

#ifndef OPENACCCONSTRUCTSTMT
#define OPENACCCONSTRUCTSTMT
#endif
ABSTRACT_STMT
#ifndef OPENACCASSOCIATEDSTMTCONSTRUCT
#define OPENACCASSOCIATEDSTMTCONSTRUCT
#endif
ABSTRACT_STMT
#ifndef OPENACCLOOPCONSTRUCT
#define OPENACCLOOPCONSTRUCT
#endif
OPENACCLOOPCONSTRUCT(OpenACCLoopConstruct, OpenACCAssociatedStmtConstruct)
#undef OPENACCLOOPCONSTRUCT

#ifndef OPENACCCOMPUTECONSTRUCT
#define OPENACCCOMPUTECONSTRUCT
#endif
OPENACCCOMPUTECONSTRUCT(OpenACCComputeConstruct, OpenACCAssociatedStmtConstruct)
#undef OPENACCCOMPUTECONSTRUCT

STMT_RANGE

#undef OPENACCASSOCIATEDSTMTCONSTRUCT

STMT_RANGE

#undef OPENACCCONSTRUCTSTMT

#ifndef OBJCFORCOLLECTIONSTMT
#define OBJCFORCOLLECTIONSTMT
#endif
OBJCFORCOLLECTIONSTMT(ObjCForCollectionStmt, Stmt)
#undef OBJCFORCOLLECTIONSTMT

#ifndef OBJCAUTORELEASEPOOLSTMT
#define OBJCAUTORELEASEPOOLSTMT
#endif
OBJCAUTORELEASEPOOLSTMT(ObjCAutoreleasePoolStmt, Stmt)
#undef OBJCAUTORELEASEPOOLSTMT

#ifndef OBJCATTRYSTMT
#define OBJCATTRYSTMT
#endif
OBJCATTRYSTMT(ObjCAtTryStmt, Stmt)
#undef OBJCATTRYSTMT

#ifndef OBJCATTHROWSTMT
#define OBJCATTHROWSTMT
#endif
OBJCATTHROWSTMT(ObjCAtThrowStmt, Stmt)
#undef OBJCATTHROWSTMT

#ifndef OBJCATSYNCHRONIZEDSTMT
#define OBJCATSYNCHRONIZEDSTMT
#endif
OBJCATSYNCHRONIZEDSTMT(ObjCAtSynchronizedStmt, Stmt)
#undef OBJCATSYNCHRONIZEDSTMT

#ifndef OBJCATFINALLYSTMT
#define OBJCATFINALLYSTMT
#endif
OBJCATFINALLYSTMT(ObjCAtFinallyStmt, Stmt)
#undef OBJCATFINALLYSTMT

#ifndef OBJCATCATCHSTMT
#define OBJCATCATCHSTMT
#endif
OBJCATCATCHSTMT(ObjCAtCatchStmt, Stmt)
#undef OBJCATCATCHSTMT

#ifndef OMPEXECUTABLEDIRECTIVE
#define OMPEXECUTABLEDIRECTIVE
#endif
ABSTRACT_STMT
#ifndef OMPTEAMSDIRECTIVE
#define OMPTEAMSDIRECTIVE
#endif
OMPTEAMSDIRECTIVE(OMPTeamsDirective, OMPExecutableDirective)
#undef OMPTEAMSDIRECTIVE

#ifndef OMPTASKYIELDDIRECTIVE
#define OMPTASKYIELDDIRECTIVE
#endif
OMPTASKYIELDDIRECTIVE(OMPTaskyieldDirective, OMPExecutableDirective)
#undef OMPTASKYIELDDIRECTIVE

#ifndef OMPTASKWAITDIRECTIVE
#define OMPTASKWAITDIRECTIVE
#endif
OMPTASKWAITDIRECTIVE(OMPTaskwaitDirective, OMPExecutableDirective)
#undef OMPTASKWAITDIRECTIVE

#ifndef OMPTASKGROUPDIRECTIVE
#define OMPTASKGROUPDIRECTIVE
#endif
OMPTASKGROUPDIRECTIVE(OMPTaskgroupDirective, OMPExecutableDirective)
#undef OMPTASKGROUPDIRECTIVE

#ifndef OMPTASKDIRECTIVE
#define OMPTASKDIRECTIVE
#endif
OMPTASKDIRECTIVE(OMPTaskDirective, OMPExecutableDirective)
#undef OMPTASKDIRECTIVE

#ifndef OMPTARGETUPDATEDIRECTIVE
#define OMPTARGETUPDATEDIRECTIVE
#endif
OMPTARGETUPDATEDIRECTIVE(OMPTargetUpdateDirective, OMPExecutableDirective)
#undef OMPTARGETUPDATEDIRECTIVE

#ifndef OMPTARGETTEAMSDIRECTIVE
#define OMPTARGETTEAMSDIRECTIVE
#endif
OMPTARGETTEAMSDIRECTIVE(OMPTargetTeamsDirective, OMPExecutableDirective)
#undef OMPTARGETTEAMSDIRECTIVE

#ifndef OMPTARGETPARALLELFORDIRECTIVE
#define OMPTARGETPARALLELFORDIRECTIVE
#endif
OMPTARGETPARALLELFORDIRECTIVE(OMPTargetParallelForDirective, OMPExecutableDirective)
#undef OMPTARGETPARALLELFORDIRECTIVE

#ifndef OMPTARGETPARALLELDIRECTIVE
#define OMPTARGETPARALLELDIRECTIVE
#endif
OMPTARGETPARALLELDIRECTIVE(OMPTargetParallelDirective, OMPExecutableDirective)
#undef OMPTARGETPARALLELDIRECTIVE

#ifndef OMPTARGETEXITDATADIRECTIVE
#define OMPTARGETEXITDATADIRECTIVE
#endif
OMPTARGETEXITDATADIRECTIVE(OMPTargetExitDataDirective, OMPExecutableDirective)
#undef OMPTARGETEXITDATADIRECTIVE

#ifndef OMPTARGETENTERDATADIRECTIVE
#define OMPTARGETENTERDATADIRECTIVE
#endif
OMPTARGETENTERDATADIRECTIVE(OMPTargetEnterDataDirective, OMPExecutableDirective)
#undef OMPTARGETENTERDATADIRECTIVE

#ifndef OMPTARGETDIRECTIVE
#define OMPTARGETDIRECTIVE
#endif
OMPTARGETDIRECTIVE(OMPTargetDirective, OMPExecutableDirective)
#undef OMPTARGETDIRECTIVE

#ifndef OMPTARGETDATADIRECTIVE
#define OMPTARGETDATADIRECTIVE
#endif
OMPTARGETDATADIRECTIVE(OMPTargetDataDirective, OMPExecutableDirective)
#undef OMPTARGETDATADIRECTIVE

#ifndef OMPSINGLEDIRECTIVE
#define OMPSINGLEDIRECTIVE
#endif
OMPSINGLEDIRECTIVE(OMPSingleDirective, OMPExecutableDirective)
#undef OMPSINGLEDIRECTIVE

#ifndef OMPSECTIONSDIRECTIVE
#define OMPSECTIONSDIRECTIVE
#endif
OMPSECTIONSDIRECTIVE(OMPSectionsDirective, OMPExecutableDirective)
#undef OMPSECTIONSDIRECTIVE

#ifndef OMPSECTIONDIRECTIVE
#define OMPSECTIONDIRECTIVE
#endif
OMPSECTIONDIRECTIVE(OMPSectionDirective, OMPExecutableDirective)
#undef OMPSECTIONDIRECTIVE

#ifndef OMPSCOPEDIRECTIVE
#define OMPSCOPEDIRECTIVE
#endif
OMPSCOPEDIRECTIVE(OMPScopeDirective, OMPExecutableDirective)
#undef OMPSCOPEDIRECTIVE

#ifndef OMPSCANDIRECTIVE
#define OMPSCANDIRECTIVE
#endif
OMPSCANDIRECTIVE(OMPScanDirective, OMPExecutableDirective)
#undef OMPSCANDIRECTIVE

#ifndef OMPPARALLELSECTIONSDIRECTIVE
#define OMPPARALLELSECTIONSDIRECTIVE
#endif
OMPPARALLELSECTIONSDIRECTIVE(OMPParallelSectionsDirective, OMPExecutableDirective)
#undef OMPPARALLELSECTIONSDIRECTIVE

#ifndef OMPPARALLELMASTERDIRECTIVE
#define OMPPARALLELMASTERDIRECTIVE
#endif
OMPPARALLELMASTERDIRECTIVE(OMPParallelMasterDirective, OMPExecutableDirective)
#undef OMPPARALLELMASTERDIRECTIVE

#ifndef OMPPARALLELMASKEDDIRECTIVE
#define OMPPARALLELMASKEDDIRECTIVE
#endif
OMPPARALLELMASKEDDIRECTIVE(OMPParallelMaskedDirective, OMPExecutableDirective)
#undef OMPPARALLELMASKEDDIRECTIVE

#ifndef OMPPARALLELDIRECTIVE
#define OMPPARALLELDIRECTIVE
#endif
OMPPARALLELDIRECTIVE(OMPParallelDirective, OMPExecutableDirective)
#undef OMPPARALLELDIRECTIVE

#ifndef OMPORDEREDDIRECTIVE
#define OMPORDEREDDIRECTIVE
#endif
OMPORDEREDDIRECTIVE(OMPOrderedDirective, OMPExecutableDirective)
#undef OMPORDEREDDIRECTIVE

#ifndef OMPMETADIRECTIVE
#define OMPMETADIRECTIVE
#endif
OMPMETADIRECTIVE(OMPMetaDirective, OMPExecutableDirective)
#undef OMPMETADIRECTIVE

#ifndef OMPMASTERDIRECTIVE
#define OMPMASTERDIRECTIVE
#endif
OMPMASTERDIRECTIVE(OMPMasterDirective, OMPExecutableDirective)
#undef OMPMASTERDIRECTIVE

#ifndef OMPMASKEDDIRECTIVE
#define OMPMASKEDDIRECTIVE
#endif
OMPMASKEDDIRECTIVE(OMPMaskedDirective, OMPExecutableDirective)
#undef OMPMASKEDDIRECTIVE

#ifndef OMPLOOPBASEDDIRECTIVE
#define OMPLOOPBASEDDIRECTIVE
#endif
ABSTRACT_STMT
#ifndef OMPLOOPTRANSFORMATIONDIRECTIVE
#define OMPLOOPTRANSFORMATIONDIRECTIVE
#endif
ABSTRACT_STMT
#ifndef OMPUNROLLDIRECTIVE
#define OMPUNROLLDIRECTIVE
#endif
OMPUNROLLDIRECTIVE(OMPUnrollDirective, OMPLoopTransformationDirective)
#undef OMPUNROLLDIRECTIVE

#ifndef OMPTILEDIRECTIVE
#define OMPTILEDIRECTIVE
#endif
OMPTILEDIRECTIVE(OMPTileDirective, OMPLoopTransformationDirective)
#undef OMPTILEDIRECTIVE

#ifndef OMPREVERSEDIRECTIVE
#define OMPREVERSEDIRECTIVE
#endif
OMPREVERSEDIRECTIVE(OMPReverseDirective, OMPLoopTransformationDirective)
#undef OMPREVERSEDIRECTIVE

#ifndef OMPINTERCHANGEDIRECTIVE
#define OMPINTERCHANGEDIRECTIVE
#endif
OMPINTERCHANGEDIRECTIVE(OMPInterchangeDirective, OMPLoopTransformationDirective)
#undef OMPINTERCHANGEDIRECTIVE

STMT_RANGE

#undef OMPLOOPTRANSFORMATIONDIRECTIVE

#ifndef OMPLOOPDIRECTIVE
#define OMPLOOPDIRECTIVE
#endif
ABSTRACT_STMT
#ifndef OMPTEAMSGENERICLOOPDIRECTIVE
#define OMPTEAMSGENERICLOOPDIRECTIVE
#endif
OMPTEAMSGENERICLOOPDIRECTIVE(OMPTeamsGenericLoopDirective, OMPLoopDirective)
#undef OMPTEAMSGENERICLOOPDIRECTIVE

#ifndef OMPTEAMSDISTRIBUTESIMDDIRECTIVE
#define OMPTEAMSDISTRIBUTESIMDDIRECTIVE
#endif
OMPTEAMSDISTRIBUTESIMDDIRECTIVE(OMPTeamsDistributeSimdDirective, OMPLoopDirective)
#undef OMPTEAMSDISTRIBUTESIMDDIRECTIVE

#ifndef OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE
#define OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE
#endif
OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE(OMPTeamsDistributeParallelForSimdDirective, OMPLoopDirective)
#undef OMPTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE

#ifndef OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE
#define OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE
#endif
OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE(OMPTeamsDistributeParallelForDirective, OMPLoopDirective)
#undef OMPTEAMSDISTRIBUTEPARALLELFORDIRECTIVE

#ifndef OMPTEAMSDISTRIBUTEDIRECTIVE
#define OMPTEAMSDISTRIBUTEDIRECTIVE
#endif
OMPTEAMSDISTRIBUTEDIRECTIVE(OMPTeamsDistributeDirective, OMPLoopDirective)
#undef OMPTEAMSDISTRIBUTEDIRECTIVE

#ifndef OMPTASKLOOPSIMDDIRECTIVE
#define OMPTASKLOOPSIMDDIRECTIVE
#endif
OMPTASKLOOPSIMDDIRECTIVE(OMPTaskLoopSimdDirective, OMPLoopDirective)
#undef OMPTASKLOOPSIMDDIRECTIVE

#ifndef OMPTASKLOOPDIRECTIVE
#define OMPTASKLOOPDIRECTIVE
#endif
OMPTASKLOOPDIRECTIVE(OMPTaskLoopDirective, OMPLoopDirective)
#undef OMPTASKLOOPDIRECTIVE

#ifndef OMPTARGETTEAMSGENERICLOOPDIRECTIVE
#define OMPTARGETTEAMSGENERICLOOPDIRECTIVE
#endif
OMPTARGETTEAMSGENERICLOOPDIRECTIVE(OMPTargetTeamsGenericLoopDirective, OMPLoopDirective)
#undef OMPTARGETTEAMSGENERICLOOPDIRECTIVE

#ifndef OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE
#define OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE
#endif
OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE(OMPTargetTeamsDistributeSimdDirective, OMPLoopDirective)
#undef OMPTARGETTEAMSDISTRIBUTESIMDDIRECTIVE

#ifndef OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE
#define OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE
#endif
OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE(OMPTargetTeamsDistributeParallelForSimdDirective, OMPLoopDirective)
#undef OMPTARGETTEAMSDISTRIBUTEPARALLELFORSIMDDIRECTIVE

#ifndef OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE
#define OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE
#endif
OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE(OMPTargetTeamsDistributeParallelForDirective, OMPLoopDirective)
#undef OMPTARGETTEAMSDISTRIBUTEPARALLELFORDIRECTIVE

#ifndef OMPTARGETTEAMSDISTRIBUTEDIRECTIVE
#define OMPTARGETTEAMSDISTRIBUTEDIRECTIVE
#endif
OMPTARGETTEAMSDISTRIBUTEDIRECTIVE(OMPTargetTeamsDistributeDirective, OMPLoopDirective)
#undef OMPTARGETTEAMSDISTRIBUTEDIRECTIVE

#ifndef OMPTARGETSIMDDIRECTIVE
#define OMPTARGETSIMDDIRECTIVE
#endif
OMPTARGETSIMDDIRECTIVE(OMPTargetSimdDirective, OMPLoopDirective)
#undef OMPTARGETSIMDDIRECTIVE

#ifndef OMPTARGETPARALLELGENERICLOOPDIRECTIVE
#define OMPTARGETPARALLELGENERICLOOPDIRECTIVE
#endif
OMPTARGETPARALLELGENERICLOOPDIRECTIVE(OMPTargetParallelGenericLoopDirective, OMPLoopDirective)
#undef OMPTARGETPARALLELGENERICLOOPDIRECTIVE

#ifndef OMPTARGETPARALLELFORSIMDDIRECTIVE
#define OMPTARGETPARALLELFORSIMDDIRECTIVE
#endif
OMPTARGETPARALLELFORSIMDDIRECTIVE(OMPTargetParallelForSimdDirective, OMPLoopDirective)
#undef OMPTARGETPARALLELFORSIMDDIRECTIVE

#ifndef OMPSIMDDIRECTIVE
#define OMPSIMDDIRECTIVE
#endif
OMPSIMDDIRECTIVE(OMPSimdDirective, OMPLoopDirective)
#undef OMPSIMDDIRECTIVE

#ifndef OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE
#define OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE
#endif
OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE(OMPParallelMasterTaskLoopSimdDirective, OMPLoopDirective)
#undef OMPPARALLELMASTERTASKLOOPSIMDDIRECTIVE

#ifndef OMPPARALLELMASTERTASKLOOPDIRECTIVE
#define OMPPARALLELMASTERTASKLOOPDIRECTIVE
#endif
OMPPARALLELMASTERTASKLOOPDIRECTIVE(OMPParallelMasterTaskLoopDirective, OMPLoopDirective)
#undef OMPPARALLELMASTERTASKLOOPDIRECTIVE

#ifndef OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE
#define OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE
#endif
OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE(OMPParallelMaskedTaskLoopSimdDirective, OMPLoopDirective)
#undef OMPPARALLELMASKEDTASKLOOPSIMDDIRECTIVE

#ifndef OMPPARALLELMASKEDTASKLOOPDIRECTIVE
#define OMPPARALLELMASKEDTASKLOOPDIRECTIVE
#endif
OMPPARALLELMASKEDTASKLOOPDIRECTIVE(OMPParallelMaskedTaskLoopDirective, OMPLoopDirective)
#undef OMPPARALLELMASKEDTASKLOOPDIRECTIVE

#ifndef OMPPARALLELGENERICLOOPDIRECTIVE
#define OMPPARALLELGENERICLOOPDIRECTIVE
#endif
OMPPARALLELGENERICLOOPDIRECTIVE(OMPParallelGenericLoopDirective, OMPLoopDirective)
#undef OMPPARALLELGENERICLOOPDIRECTIVE

#ifndef OMPPARALLELFORSIMDDIRECTIVE
#define OMPPARALLELFORSIMDDIRECTIVE
#endif
OMPPARALLELFORSIMDDIRECTIVE(OMPParallelForSimdDirective, OMPLoopDirective)
#undef OMPPARALLELFORSIMDDIRECTIVE

#ifndef OMPPARALLELFORDIRECTIVE
#define OMPPARALLELFORDIRECTIVE
#endif
OMPPARALLELFORDIRECTIVE(OMPParallelForDirective, OMPLoopDirective)
#undef OMPPARALLELFORDIRECTIVE

#ifndef OMPMASTERTASKLOOPSIMDDIRECTIVE
#define OMPMASTERTASKLOOPSIMDDIRECTIVE
#endif
OMPMASTERTASKLOOPSIMDDIRECTIVE(OMPMasterTaskLoopSimdDirective, OMPLoopDirective)
#undef OMPMASTERTASKLOOPSIMDDIRECTIVE

#ifndef OMPMASTERTASKLOOPDIRECTIVE
#define OMPMASTERTASKLOOPDIRECTIVE
#endif
OMPMASTERTASKLOOPDIRECTIVE(OMPMasterTaskLoopDirective, OMPLoopDirective)
#undef OMPMASTERTASKLOOPDIRECTIVE

#ifndef OMPMASKEDTASKLOOPSIMDDIRECTIVE
#define OMPMASKEDTASKLOOPSIMDDIRECTIVE
#endif
OMPMASKEDTASKLOOPSIMDDIRECTIVE(OMPMaskedTaskLoopSimdDirective, OMPLoopDirective)
#undef OMPMASKEDTASKLOOPSIMDDIRECTIVE

#ifndef OMPMASKEDTASKLOOPDIRECTIVE
#define OMPMASKEDTASKLOOPDIRECTIVE
#endif
OMPMASKEDTASKLOOPDIRECTIVE(OMPMaskedTaskLoopDirective, OMPLoopDirective)
#undef OMPMASKEDTASKLOOPDIRECTIVE

#ifndef OMPGENERICLOOPDIRECTIVE
#define OMPGENERICLOOPDIRECTIVE
#endif
OMPGENERICLOOPDIRECTIVE(OMPGenericLoopDirective, OMPLoopDirective)
#undef OMPGENERICLOOPDIRECTIVE

#ifndef OMPFORSIMDDIRECTIVE
#define OMPFORSIMDDIRECTIVE
#endif
OMPFORSIMDDIRECTIVE(OMPForSimdDirective, OMPLoopDirective)
#undef OMPFORSIMDDIRECTIVE

#ifndef OMPFORDIRECTIVE
#define OMPFORDIRECTIVE
#endif
OMPFORDIRECTIVE(OMPForDirective, OMPLoopDirective)
#undef OMPFORDIRECTIVE

#ifndef OMPDISTRIBUTESIMDDIRECTIVE
#define OMPDISTRIBUTESIMDDIRECTIVE
#endif
OMPDISTRIBUTESIMDDIRECTIVE(OMPDistributeSimdDirective, OMPLoopDirective)
#undef OMPDISTRIBUTESIMDDIRECTIVE

#ifndef OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE
#define OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE
#endif
OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE(OMPDistributeParallelForSimdDirective, OMPLoopDirective)
#undef OMPDISTRIBUTEPARALLELFORSIMDDIRECTIVE

#ifndef OMPDISTRIBUTEPARALLELFORDIRECTIVE
#define OMPDISTRIBUTEPARALLELFORDIRECTIVE
#endif
OMPDISTRIBUTEPARALLELFORDIRECTIVE(OMPDistributeParallelForDirective, OMPLoopDirective)
#undef OMPDISTRIBUTEPARALLELFORDIRECTIVE

#ifndef OMPDISTRIBUTEDIRECTIVE
#define OMPDISTRIBUTEDIRECTIVE
#endif
OMPDISTRIBUTEDIRECTIVE(OMPDistributeDirective, OMPLoopDirective)
#undef OMPDISTRIBUTEDIRECTIVE

STMT_RANGE

#undef OMPLOOPDIRECTIVE

STMT_RANGE

#undef OMPLOOPBASEDDIRECTIVE

#ifndef OMPINTEROPDIRECTIVE
#define OMPINTEROPDIRECTIVE
#endif
OMPINTEROPDIRECTIVE(OMPInteropDirective, OMPExecutableDirective)
#undef OMPINTEROPDIRECTIVE

#ifndef OMPFLUSHDIRECTIVE
#define OMPFLUSHDIRECTIVE
#endif
OMPFLUSHDIRECTIVE(OMPFlushDirective, OMPExecutableDirective)
#undef OMPFLUSHDIRECTIVE

#ifndef OMPERRORDIRECTIVE
#define OMPERRORDIRECTIVE
#endif
OMPERRORDIRECTIVE(OMPErrorDirective, OMPExecutableDirective)
#undef OMPERRORDIRECTIVE

#ifndef OMPDISPATCHDIRECTIVE
#define OMPDISPATCHDIRECTIVE
#endif
OMPDISPATCHDIRECTIVE(OMPDispatchDirective, OMPExecutableDirective)
#undef OMPDISPATCHDIRECTIVE

#ifndef OMPDEPOBJDIRECTIVE
#define OMPDEPOBJDIRECTIVE
#endif
OMPDEPOBJDIRECTIVE(OMPDepobjDirective, OMPExecutableDirective)
#undef OMPDEPOBJDIRECTIVE

#ifndef OMPCRITICALDIRECTIVE
#define OMPCRITICALDIRECTIVE
#endif
OMPCRITICALDIRECTIVE(OMPCriticalDirective, OMPExecutableDirective)
#undef OMPCRITICALDIRECTIVE

#ifndef OMPCANCELLATIONPOINTDIRECTIVE
#define OMPCANCELLATIONPOINTDIRECTIVE
#endif
OMPCANCELLATIONPOINTDIRECTIVE(OMPCancellationPointDirective, OMPExecutableDirective)
#undef OMPCANCELLATIONPOINTDIRECTIVE

#ifndef OMPCANCELDIRECTIVE
#define OMPCANCELDIRECTIVE
#endif
OMPCANCELDIRECTIVE(OMPCancelDirective, OMPExecutableDirective)
#undef OMPCANCELDIRECTIVE

#ifndef OMPBARRIERDIRECTIVE
#define OMPBARRIERDIRECTIVE
#endif
OMPBARRIERDIRECTIVE(OMPBarrierDirective, OMPExecutableDirective)
#undef OMPBARRIERDIRECTIVE

#ifndef OMPATOMICDIRECTIVE
#define OMPATOMICDIRECTIVE
#endif
OMPATOMICDIRECTIVE(OMPAtomicDirective, OMPExecutableDirective)
#undef OMPATOMICDIRECTIVE

#ifndef OMPASSUMEDIRECTIVE
#define OMPASSUMEDIRECTIVE
#endif
OMPASSUMEDIRECTIVE(OMPAssumeDirective, OMPExecutableDirective)
#undef OMPASSUMEDIRECTIVE

STMT_RANGE

#undef OMPEXECUTABLEDIRECTIVE

#ifndef OMPCANONICALLOOP
#define OMPCANONICALLOOP
#endif
OMPCANONICALLOOP(OMPCanonicalLoop, Stmt)
#undef OMPCANONICALLOOP

#ifndef NULLSTMT
#define NULLSTMT
#endif
NULLSTMT(NullStmt, Stmt)
#undef NULLSTMT

#ifndef MSDEPENDENTEXISTSSTMT
#define MSDEPENDENTEXISTSSTMT
#endif
MSDEPENDENTEXISTSSTMT(MSDependentExistsStmt, Stmt)
#undef MSDEPENDENTEXISTSSTMT

#ifndef INDIRECTGOTOSTMT
#define INDIRECTGOTOSTMT
#endif
INDIRECTGOTOSTMT(IndirectGotoStmt, Stmt)
#undef INDIRECTGOTOSTMT

#ifndef IFSTMT
#define IFSTMT
#endif
IFSTMT(IfStmt, Stmt)
#undef IFSTMT

#ifndef GOTOSTMT
#define GOTOSTMT
#endif
GOTOSTMT(GotoStmt, Stmt)
#undef GOTOSTMT

#ifndef FORSTMT
#define FORSTMT
#endif
FORSTMT(ForStmt, Stmt)
#undef FORSTMT

#ifndef DOSTMT
#define DOSTMT
#endif
DOSTMT(DoStmt, Stmt)
#undef DOSTMT

#ifndef DECLSTMT
#define DECLSTMT
#endif
DECLSTMT(DeclStmt, Stmt)
#undef DECLSTMT

#ifndef COROUTINEBODYSTMT
#define COROUTINEBODYSTMT
#endif
COROUTINEBODYSTMT(CoroutineBodyStmt, Stmt)
#undef COROUTINEBODYSTMT

#ifndef CORETURNSTMT
#define CORETURNSTMT
#endif
CORETURNSTMT(CoreturnStmt, Stmt)
#undef CORETURNSTMT

#ifndef CONTINUESTMT
#define CONTINUESTMT
#endif
CONTINUESTMT(ContinueStmt, Stmt)
#undef CONTINUESTMT

#ifndef COMPOUNDSTMT
#define COMPOUNDSTMT
#endif
COMPOUNDSTMT(CompoundStmt, Stmt)
#undef COMPOUNDSTMT

#ifndef CAPTUREDSTMT
#define CAPTUREDSTMT
#endif
CAPTUREDSTMT(CapturedStmt, Stmt)
#undef CAPTUREDSTMT

#ifndef CXXTRYSTMT
#define CXXTRYSTMT
#endif
CXXTRYSTMT(CXXTryStmt, Stmt)
#undef CXXTRYSTMT

#ifndef CXXFORRANGESTMT
#define CXXFORRANGESTMT
#endif
CXXFORRANGESTMT(CXXForRangeStmt, Stmt)
#undef CXXFORRANGESTMT

#ifndef CXXCATCHSTMT
#define CXXCATCHSTMT
#endif
CXXCATCHSTMT(CXXCatchStmt, Stmt)
#undef CXXCATCHSTMT

#ifndef BREAKSTMT
#define BREAKSTMT
#endif
BREAKSTMT(BreakStmt, Stmt)
#undef BREAKSTMT

#ifndef ASMSTMT
#define ASMSTMT
#endif
ABSTRACT_STMT
#ifndef MSASMSTMT
#define MSASMSTMT
#endif
MSASMSTMT(MSAsmStmt, AsmStmt)
#undef MSASMSTMT

#ifndef GCCASMSTMT
#define GCCASMSTMT
#endif
GCCASMSTMT(GCCAsmStmt, AsmStmt)
#undef GCCASMSTMT

STMT_RANGE

#undef ASMSTMT

LAST_STMT_RANGE

#undef STMT
#undef STMT_RANGE
#undef LAST_STMT_RANGE
#undef ABSTRACT_STMT