/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |* *| |* List of AST nodes of a particular kind *| |* *| |* Automatically generated file, do not edit! *| |* From: DeclNodes.td *| |* *| \*===----------------------------------------------------------------------===*/ #ifndef ABSTRACT_DECL # define ABSTRACT_DECL(Type) Type #endif #ifndef DECL_RANGE # define DECL_RANGE(Base, First, Last) #endif #ifndef LAST_DECL_RANGE # define LAST_DECL_RANGE(Base, First, Last) DECL_RANGE(Base, First, Last) #endif #ifndef TRANSLATIONUNIT # define TRANSLATIONUNIT(Type, Base) DECL(Type, Base) #endif TRANSLATIONUNIT(TranslationUnit, Decl) #undef TRANSLATIONUNIT #ifndef TOPLEVELSTMT # define TOPLEVELSTMT(Type, Base) DECL(Type, Base) #endif TOPLEVELSTMT(TopLevelStmt, Decl) #undef TOPLEVELSTMT #ifndef REQUIRESEXPRBODY # define REQUIRESEXPRBODY(Type, Base) DECL(Type, Base) #endif REQUIRESEXPRBODY(RequiresExprBody, Decl) #undef REQUIRESEXPRBODY #ifndef LINKAGESPEC # define LINKAGESPEC(Type, Base) DECL(Type, Base) #endif LINKAGESPEC(LinkageSpec, Decl) #undef LINKAGESPEC #ifndef EXTERNCCONTEXT # define EXTERNCCONTEXT(Type, Base) DECL(Type, Base) #endif EXTERNCCONTEXT(ExternCContext, Decl) #undef EXTERNCCONTEXT #ifndef EXPORT # define EXPORT(Type, Base) DECL(Type, Base) #endif EXPORT(Export, Decl) #undef EXPORT #ifndef CAPTURED # define CAPTURED(Type, Base) DECL(Type, Base) #endif CAPTURED(Captured, Decl) #undef CAPTURED #ifndef BLOCK # define BLOCK(Type, Base) DECL(Type, Base) #endif BLOCK(Block, Decl) #undef BLOCK #ifndef STATICASSERT # define STATICASSERT(Type, Base) DECL(Type, Base) #endif STATICASSERT(StaticAssert, Decl) #undef STATICASSERT #ifndef PRAGMADETECTMISMATCH # define PRAGMADETECTMISMATCH(Type, Base) DECL(Type, Base) #endif PRAGMADETECTMISMATCH(PragmaDetectMismatch, Decl) #undef PRAGMADETECTMISMATCH #ifndef PRAGMACOMMENT # define PRAGMACOMMENT(Type, Base) DECL(Type, Base) #endif PRAGMACOMMENT(PragmaComment, Decl) #undef PRAGMACOMMENT #ifndef OBJCPROPERTYIMPL # define OBJCPROPERTYIMPL(Type, Base) DECL(Type, Base) #endif OBJCPROPERTYIMPL(ObjCPropertyImpl, Decl) #undef OBJCPROPERTYIMPL #ifndef OMPTHREADPRIVATE # define OMPTHREADPRIVATE(Type, Base) DECL(Type, Base) #endif OMPTHREADPRIVATE(OMPThreadPrivate, Decl) #undef OMPTHREADPRIVATE #ifndef OMPREQUIRES # define OMPREQUIRES(Type, Base) DECL(Type, Base) #endif OMPREQUIRES(OMPRequires, Decl) #undef OMPREQUIRES #ifndef OMPALLOCATE # define OMPALLOCATE(Type, Base) DECL(Type, Base) #endif OMPALLOCATE(OMPAllocate, Decl) #undef OMPALLOCATE #ifndef NAMED # define NAMED(Type, Base) DECL(Type, Base) #endif ABSTRACT_DECL(NAMED(Named, Decl)) #ifndef OBJCMETHOD # define OBJCMETHOD(Type, Base) NAMED(Type, Base) #endif OBJCMETHOD(ObjCMethod, NamedDecl) #undef OBJCMETHOD #ifndef OBJCCONTAINER # define OBJCCONTAINER(Type, Base) NAMED(Type, Base) #endif ABSTRACT_DECL(OBJCCONTAINER(ObjCContainer, NamedDecl)) #ifndef OBJCPROTOCOL # define OBJCPROTOCOL(Type, Base) OBJCCONTAINER(Type, Base) #endif OBJCPROTOCOL(ObjCProtocol, ObjCContainerDecl) #undef OBJCPROTOCOL #ifndef OBJCINTERFACE # define OBJCINTERFACE(Type, Base) OBJCCONTAINER(Type, Base) #endif OBJCINTERFACE(ObjCInterface, ObjCContainerDecl) #undef OBJCINTERFACE #ifndef OBJCIMPL # define OBJCIMPL(Type, Base) OBJCCONTAINER(Type, Base) #endif ABSTRACT_DECL(OBJCIMPL(ObjCImpl, ObjCContainerDecl)) #ifndef OBJCIMPLEMENTATION # define OBJCIMPLEMENTATION(Type, Base) OBJCIMPL(Type, Base) #endif OBJCIMPLEMENTATION(ObjCImplementation, ObjCImplDecl) #undef OBJCIMPLEMENTATION #ifndef OBJCCATEGORYIMPL # define OBJCCATEGORYIMPL(Type, Base) OBJCIMPL(Type, Base) #endif OBJCCATEGORYIMPL(ObjCCategoryImpl, ObjCImplDecl) #undef OBJCCATEGORYIMPL DECL_RANGE(ObjCImpl, ObjCImplementation, ObjCCategoryImpl) #undef OBJCIMPL #ifndef OBJCCATEGORY # define OBJCCATEGORY(Type, Base) OBJCCONTAINER(Type, Base) #endif OBJCCATEGORY(ObjCCategory, ObjCContainerDecl) #undef OBJCCATEGORY DECL_RANGE(ObjCContainer, ObjCProtocol, ObjCCategory) #undef OBJCCONTAINER #ifndef NAMESPACE # define NAMESPACE(Type, Base) NAMED(Type, Base) #endif NAMESPACE(Namespace, NamedDecl) #undef NAMESPACE #ifndef HLSLBUFFER # define HLSLBUFFER(Type, Base) NAMED(Type, Base) #endif HLSLBUFFER(HLSLBuffer, NamedDecl) #undef HLSLBUFFER #ifndef VALUE # define VALUE(Type, Base) NAMED(Type, Base) #endif ABSTRACT_DECL(VALUE(Value, NamedDecl)) #ifndef OMPDECLAREREDUCTION # define OMPDECLAREREDUCTION(Type, Base) VALUE(Type, Base) #endif OMPDECLAREREDUCTION(OMPDeclareReduction, ValueDecl) #undef OMPDECLAREREDUCTION #ifndef OMPDECLAREMAPPER # define OMPDECLAREMAPPER(Type, Base) VALUE(Type, Base) #endif OMPDECLAREMAPPER(OMPDeclareMapper, ValueDecl) #undef OMPDECLAREMAPPER #ifndef UNRESOLVEDUSINGVALUE # define UNRESOLVEDUSINGVALUE(Type, Base) VALUE(Type, Base) #endif UNRESOLVEDUSINGVALUE(UnresolvedUsingValue, ValueDecl) #undef UNRESOLVEDUSINGVALUE #ifndef UNNAMEDGLOBALCONSTANT # define UNNAMEDGLOBALCONSTANT(Type, Base) VALUE(Type, Base) #endif UNNAMEDGLOBALCONSTANT(UnnamedGlobalConstant, ValueDecl) #undef UNNAMEDGLOBALCONSTANT #ifndef TEMPLATEPARAMOBJECT # define TEMPLATEPARAMOBJECT(Type, Base) VALUE(Type, Base) #endif TEMPLATEPARAMOBJECT(TemplateParamObject, ValueDecl) #undef TEMPLATEPARAMOBJECT #ifndef MSGUID # define MSGUID(Type, Base) VALUE(Type, Base) #endif MSGUID(MSGuid, ValueDecl) #undef MSGUID #ifndef INDIRECTFIELD # define INDIRECTFIELD(Type, Base) VALUE(Type, Base) #endif INDIRECTFIELD(IndirectField, ValueDecl) #undef INDIRECTFIELD #ifndef ENUMCONSTANT # define ENUMCONSTANT(Type, Base) VALUE(Type, Base) #endif ENUMCONSTANT(EnumConstant, ValueDecl) #undef ENUMCONSTANT #ifndef DECLARATOR # define DECLARATOR(Type, Base) VALUE(Type, Base) #endif ABSTRACT_DECL(DECLARATOR(Declarator, ValueDecl)) #ifndef FUNCTION # define FUNCTION(Type, Base) DECLARATOR(Type, Base) #endif FUNCTION(Function, DeclaratorDecl) #ifndef CXXMETHOD # define CXXMETHOD(Type, Base) FUNCTION(Type, Base) #endif CXXMETHOD(CXXMethod, FunctionDecl) #ifndef CXXDESTRUCTOR # define CXXDESTRUCTOR(Type, Base) CXXMETHOD(Type, Base) #endif CXXDESTRUCTOR(CXXDestructor, CXXMethodDecl) #undef CXXDESTRUCTOR #ifndef CXXCONVERSION # define CXXCONVERSION(Type, Base) CXXMETHOD(Type, Base) #endif CXXCONVERSION(CXXConversion, CXXMethodDecl) #undef CXXCONVERSION #ifndef CXXCONSTRUCTOR # define CXXCONSTRUCTOR(Type, Base) CXXMETHOD(Type, Base) #endif CXXCONSTRUCTOR(CXXConstructor, CXXMethodDecl) #undef CXXCONSTRUCTOR DECL_RANGE(CXXMethod, CXXMethod, CXXConstructor) #undef CXXMETHOD #ifndef CXXDEDUCTIONGUIDE # define CXXDEDUCTIONGUIDE(Type, Base) FUNCTION(Type, Base) #endif CXXDEDUCTIONGUIDE(CXXDeductionGuide, FunctionDecl) #undef CXXDEDUCTIONGUIDE DECL_RANGE(Function, Function, CXXDeductionGuide) #undef FUNCTION #ifndef VAR # define VAR(Type, Base) DECLARATOR(Type, Base) #endif VAR(Var, DeclaratorDecl) #ifndef VARTEMPLATESPECIALIZATION # define VARTEMPLATESPECIALIZATION(Type, Base) VAR(Type, Base) #endif VARTEMPLATESPECIALIZATION(VarTemplateSpecialization, VarDecl) #ifndef VARTEMPLATEPARTIALSPECIALIZATION # define VARTEMPLATEPARTIALSPECIALIZATION(Type, Base) VARTEMPLATESPECIALIZATION(Type, Base) #endif VARTEMPLATEPARTIALSPECIALIZATION(VarTemplatePartialSpecialization, VarTemplateSpecializationDecl) #undef VARTEMPLATEPARTIALSPECIALIZATION DECL_RANGE(VarTemplateSpecialization, VarTemplateSpecialization, VarTemplatePartialSpecialization) #undef VARTEMPLATESPECIALIZATION #ifndef PARMVAR # define PARMVAR(Type, Base) VAR(Type, Base) #endif PARMVAR(ParmVar, VarDecl) #undef PARMVAR #ifndef OMPCAPTUREDEXPR # define OMPCAPTUREDEXPR(Type, Base) VAR(Type, Base) #endif OMPCAPTUREDEXPR(OMPCapturedExpr, VarDecl) #undef OMPCAPTUREDEXPR #ifndef IMPLICITPARAM # define IMPLICITPARAM(Type, Base) VAR(Type, Base) #endif IMPLICITPARAM(ImplicitParam, VarDecl) #undef IMPLICITPARAM #ifndef DECOMPOSITION # define DECOMPOSITION(Type, Base) VAR(Type, Base) #endif DECOMPOSITION(Decomposition, VarDecl) #undef DECOMPOSITION DECL_RANGE(Var, Var, Decomposition) #undef VAR #ifndef NONTYPETEMPLATEPARM # define NONTYPETEMPLATEPARM(Type, Base) DECLARATOR(Type, Base) #endif NONTYPETEMPLATEPARM(NonTypeTemplateParm, DeclaratorDecl) #undef NONTYPETEMPLATEPARM #ifndef MSPROPERTY # define MSPROPERTY(Type, Base) DECLARATOR(Type, Base) #endif MSPROPERTY(MSProperty, DeclaratorDecl) #undef MSPROPERTY #ifndef FIELD # define FIELD(Type, Base) DECLARATOR(Type, Base) #endif FIELD(Field, DeclaratorDecl) #ifndef OBJCIVAR # define OBJCIVAR(Type, Base) FIELD(Type, Base) #endif OBJCIVAR(ObjCIvar, FieldDecl) #undef OBJCIVAR #ifndef OBJCATDEFSFIELD # define OBJCATDEFSFIELD(Type, Base) FIELD(Type, Base) #endif OBJCATDEFSFIELD(ObjCAtDefsField, FieldDecl) #undef OBJCATDEFSFIELD DECL_RANGE(Field, Field, ObjCAtDefsField) #undef FIELD DECL_RANGE(Declarator, Function, ObjCAtDefsField) #undef DECLARATOR #ifndef BINDING # define BINDING(Type, Base) VALUE(Type, Base) #endif BINDING(Binding, ValueDecl) #undef BINDING DECL_RANGE(Value, OMPDeclareReduction, Binding) #undef VALUE #ifndef USINGSHADOW # define USINGSHADOW(Type, Base) NAMED(Type, Base) #endif USINGSHADOW(UsingShadow, NamedDecl) #ifndef CONSTRUCTORUSINGSHADOW # define CONSTRUCTORUSINGSHADOW(Type, Base) USINGSHADOW(Type, Base) #endif CONSTRUCTORUSINGSHADOW(ConstructorUsingShadow, UsingShadowDecl) #undef CONSTRUCTORUSINGSHADOW DECL_RANGE(UsingShadow, UsingShadow, ConstructorUsingShadow) #undef USINGSHADOW #ifndef USINGPACK # define USINGPACK(Type, Base) NAMED(Type, Base) #endif USINGPACK(UsingPack, NamedDecl) #undef USINGPACK #ifndef USINGDIRECTIVE # define USINGDIRECTIVE(Type, Base) NAMED(Type, Base) #endif USINGDIRECTIVE(UsingDirective, NamedDecl) #undef USINGDIRECTIVE #ifndef UNRESOLVEDUSINGIFEXISTS # define UNRESOLVEDUSINGIFEXISTS(Type, Base) NAMED(Type, Base) #endif UNRESOLVEDUSINGIFEXISTS(UnresolvedUsingIfExists, NamedDecl) #undef UNRESOLVEDUSINGIFEXISTS #ifndef TYPE # define TYPE(Type, Base) NAMED(Type, Base) #endif ABSTRACT_DECL(TYPE(Type, NamedDecl)) #ifndef TAG # define TAG(Type, Base) TYPE(Type, Base) #endif ABSTRACT_DECL(TAG(Tag, TypeDecl)) #ifndef RECORD # define RECORD(Type, Base) TAG(Type, Base) #endif RECORD(Record, TagDecl) #ifndef CXXRECORD # define CXXRECORD(Type, Base) RECORD(Type, Base) #endif CXXRECORD(CXXRecord, RecordDecl) #ifndef CLASSTEMPLATESPECIALIZATION # define CLASSTEMPLATESPECIALIZATION(Type, Base) CXXRECORD(Type, Base) #endif CLASSTEMPLATESPECIALIZATION(ClassTemplateSpecialization, CXXRecordDecl) #ifndef CLASSTEMPLATEPARTIALSPECIALIZATION # define CLASSTEMPLATEPARTIALSPECIALIZATION(Type, Base) CLASSTEMPLATESPECIALIZATION(Type, Base) #endif CLASSTEMPLATEPARTIALSPECIALIZATION(ClassTemplatePartialSpecialization, ClassTemplateSpecializationDecl) #undef CLASSTEMPLATEPARTIALSPECIALIZATION DECL_RANGE(ClassTemplateSpecialization, ClassTemplateSpecialization, ClassTemplatePartialSpecialization) #undef CLASSTEMPLATESPECIALIZATION DECL_RANGE(CXXRecord, CXXRecord, ClassTemplatePartialSpecialization) #undef CXXRECORD DECL_RANGE(Record, Record, ClassTemplatePartialSpecialization) #undef RECORD #ifndef ENUM # define ENUM(Type, Base) TAG(Type, Base) #endif ENUM(Enum, TagDecl) #undef ENUM DECL_RANGE(Tag, Record, Enum) #undef TAG #ifndef UNRESOLVEDUSINGTYPENAME # define UNRESOLVEDUSINGTYPENAME(Type, Base) TYPE(Type, Base) #endif UNRESOLVEDUSINGTYPENAME(UnresolvedUsingTypename, TypeDecl) #undef UNRESOLVEDUSINGTYPENAME #ifndef TYPEDEFNAME # define TYPEDEFNAME(Type, Base) TYPE(Type, Base) #endif ABSTRACT_DECL(TYPEDEFNAME(TypedefName, TypeDecl)) #ifndef TYPEDEF # define TYPEDEF(Type, Base) TYPEDEFNAME(Type, Base) #endif TYPEDEF(Typedef, TypedefNameDecl) #undef TYPEDEF #ifndef TYPEALIAS # define TYPEALIAS(Type, Base) TYPEDEFNAME(Type, Base) #endif TYPEALIAS(TypeAlias, TypedefNameDecl) #undef TYPEALIAS #ifndef OBJCTYPEPARAM # define OBJCTYPEPARAM(Type, Base) TYPEDEFNAME(Type, Base) #endif OBJCTYPEPARAM(ObjCTypeParam, TypedefNameDecl) #undef OBJCTYPEPARAM DECL_RANGE(TypedefName, Typedef, ObjCTypeParam) #undef TYPEDEFNAME #ifndef TEMPLATETYPEPARM # define TEMPLATETYPEPARM(Type, Base) TYPE(Type, Base) #endif TEMPLATETYPEPARM(TemplateTypeParm, TypeDecl) #undef TEMPLATETYPEPARM DECL_RANGE(Type, Record, TemplateTypeParm) #undef TYPE #ifndef TEMPLATE # define TEMPLATE(Type, Base) NAMED(Type, Base) #endif ABSTRACT_DECL(TEMPLATE(Template, NamedDecl)) #ifndef TEMPLATETEMPLATEPARM # define TEMPLATETEMPLATEPARM(Type, Base) TEMPLATE(Type, Base) #endif TEMPLATETEMPLATEPARM(TemplateTemplateParm, TemplateDecl) #undef TEMPLATETEMPLATEPARM #ifndef REDECLARABLETEMPLATE # define REDECLARABLETEMPLATE(Type, Base) TEMPLATE(Type, Base) #endif ABSTRACT_DECL(REDECLARABLETEMPLATE(RedeclarableTemplate, TemplateDecl)) #ifndef VARTEMPLATE # define VARTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) #endif VARTEMPLATE(VarTemplate, RedeclarableTemplateDecl) #undef VARTEMPLATE #ifndef TYPEALIASTEMPLATE # define TYPEALIASTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) #endif TYPEALIASTEMPLATE(TypeAliasTemplate, RedeclarableTemplateDecl) #undef TYPEALIASTEMPLATE #ifndef FUNCTIONTEMPLATE # define FUNCTIONTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) #endif FUNCTIONTEMPLATE(FunctionTemplate, RedeclarableTemplateDecl) #undef FUNCTIONTEMPLATE #ifndef CLASSTEMPLATE # define CLASSTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base) #endif CLASSTEMPLATE(ClassTemplate, RedeclarableTemplateDecl) #undef CLASSTEMPLATE DECL_RANGE(RedeclarableTemplate, VarTemplate, ClassTemplate) #undef REDECLARABLETEMPLATE #ifndef CONCEPT # define CONCEPT(Type, Base) TEMPLATE(Type, Base) #endif CONCEPT(Concept, TemplateDecl) #undef CONCEPT #ifndef BUILTINTEMPLATE # define BUILTINTEMPLATE(Type, Base) TEMPLATE(Type, Base) #endif BUILTINTEMPLATE(BuiltinTemplate, TemplateDecl) #undef BUILTINTEMPLATE DECL_RANGE(Template, TemplateTemplateParm, BuiltinTemplate) #undef TEMPLATE #ifndef OBJCPROPERTY # define OBJCPROPERTY(Type, Base) NAMED(Type, Base) #endif OBJCPROPERTY(ObjCProperty, NamedDecl) #undef OBJCPROPERTY #ifndef OBJCCOMPATIBLEALIAS # define OBJCCOMPATIBLEALIAS(Type, Base) NAMED(Type, Base) #endif OBJCCOMPATIBLEALIAS(ObjCCompatibleAlias, NamedDecl) #undef OBJCCOMPATIBLEALIAS #ifndef NAMESPACEALIAS # define NAMESPACEALIAS(Type, Base) NAMED(Type, Base) #endif NAMESPACEALIAS(NamespaceAlias, NamedDecl) #undef NAMESPACEALIAS #ifndef LABEL # define LABEL(Type, Base) NAMED(Type, Base) #endif LABEL(Label, NamedDecl) #undef LABEL #ifndef BASEUSING # define BASEUSING(Type, Base) NAMED(Type, Base) #endif ABSTRACT_DECL(BASEUSING(BaseUsing, NamedDecl)) #ifndef USINGENUM # define USINGENUM(Type, Base) BASEUSING(Type, Base) #endif USINGENUM(UsingEnum, BaseUsingDecl) #undef USINGENUM #ifndef USING # define USING(Type, Base) BASEUSING(Type, Base) #endif USING(Using, BaseUsingDecl) #undef USING DECL_RANGE(BaseUsing, UsingEnum, Using) #undef BASEUSING DECL_RANGE(Named, ObjCMethod, Using) #undef NAMED #ifndef LIFETIMEEXTENDEDTEMPORARY # define LIFETIMEEXTENDEDTEMPORARY(Type, Base) DECL(Type, Base) #endif LIFETIMEEXTENDEDTEMPORARY(LifetimeExtendedTemporary, Decl) #undef LIFETIMEEXTENDEDTEMPORARY #ifndef IMPORT # define IMPORT(Type, Base) DECL(Type, Base) #endif IMPORT(Import, Decl) #undef IMPORT #ifndef IMPLICITCONCEPTSPECIALIZATION # define IMPLICITCONCEPTSPECIALIZATION(Type, Base) DECL(Type, Base) #endif IMPLICITCONCEPTSPECIALIZATION(ImplicitConceptSpecialization, Decl) #undef IMPLICITCONCEPTSPECIALIZATION #ifndef FRIENDTEMPLATE # define FRIENDTEMPLATE(Type, Base) DECL(Type, Base) #endif FRIENDTEMPLATE(FriendTemplate, Decl) #undef FRIENDTEMPLATE #ifndef FRIEND # define FRIEND(Type, Base) DECL(Type, Base) #endif FRIEND(Friend, Decl) #undef FRIEND #ifndef FILESCOPEASM # define FILESCOPEASM(Type, Base) DECL(Type, Base) #endif FILESCOPEASM(FileScopeAsm, Decl) #undef FILESCOPEASM #ifndef EMPTY # define EMPTY(Type, Base) DECL(Type, Base) #endif EMPTY(Empty, Decl) #undef EMPTY #ifndef ACCESSSPEC # define ACCESSSPEC(Type, Base) DECL(Type, Base) #endif ACCESSSPEC(AccessSpec, Decl) #undef ACCESSSPEC LAST_DECL_RANGE(Decl, TranslationUnit, AccessSpec) #undef DECL #undef DECL_RANGE #undef LAST_DECL_RANGE #undef ABSTRACT_DECL /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |* *| |* List of AST Decl nodes *| |* *| |* Automatically generated file, do not edit! *| |* From: DeclNodes.td *| |* *| \*===----------------------------------------------------------------------===*/ #ifndef DECL_CONTEXT # define DECL_CONTEXT(DECL) #endif DECL_CONTEXT(Block) DECL_CONTEXT(Captured) DECL_CONTEXT(Export) DECL_CONTEXT(ExternCContext) DECL_CONTEXT(Function) DECL_CONTEXT(CXXDeductionGuide) DECL_CONTEXT(CXXMethod) DECL_CONTEXT(CXXConstructor) DECL_CONTEXT(CXXConversion) DECL_CONTEXT(CXXDestructor) DECL_CONTEXT(HLSLBuffer) DECL_CONTEXT(LinkageSpec) DECL_CONTEXT(Namespace) DECL_CONTEXT(OMPDeclareMapper) DECL_CONTEXT(OMPDeclareReduction) DECL_CONTEXT(ObjCCategory) DECL_CONTEXT(ObjCCategoryImpl) DECL_CONTEXT(ObjCImplementation) DECL_CONTEXT(ObjCInterface) DECL_CONTEXT(ObjCProtocol) DECL_CONTEXT(ObjCMethod) DECL_CONTEXT(RequiresExprBody) DECL_CONTEXT(Enum) DECL_CONTEXT(Record) DECL_CONTEXT(CXXRecord) DECL_CONTEXT(ClassTemplateSpecialization) DECL_CONTEXT(ClassTemplatePartialSpecialization) DECL_CONTEXT(TopLevelStmt) DECL_CONTEXT(TranslationUnit) #undef DECL_CONTEXT