/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* List of all attributes that Clang recognizes                               *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

#ifndef TYPE_ATTR
#define TYPE_ATTR(NAME) ATTR(NAME)
#endif

#ifndef STMT_ATTR
#define STMT_ATTR(NAME) ATTR(NAME)
#endif

#ifndef INHERITABLE_ATTR
#define INHERITABLE_ATTR(NAME) ATTR(NAME)
#endif

#ifndef DECL_OR_TYPE_ATTR
#define DECL_OR_TYPE_ATTR(NAME) INHERITABLE_ATTR(NAME)
#endif

#ifndef INHERITABLE_PARAM_ATTR
#define INHERITABLE_PARAM_ATTR(NAME) INHERITABLE_ATTR(NAME)
#endif

#ifndef PARAMETER_ABI_ATTR
#define PARAMETER_ABI_ATTR(NAME) INHERITABLE_PARAM_ATTR(NAME)
#endif

#ifndef PRAGMA_SPELLING_ATTR
#define PRAGMA_SPELLING_ATTR(NAME) 
#endif

TYPE_ATTR(AddressSpace)
TYPE_ATTR(NoDeref)
TYPE_ATTR(ObjCGC)
TYPE_ATTR(ObjCInertUnsafeUnretained)
TYPE_ATTR(ObjCKindOf)
TYPE_ATTR(OpenCLConstantAddressSpace)
TYPE_ATTR(OpenCLGenericAddressSpace)
TYPE_ATTR(OpenCLGlobalAddressSpace)
TYPE_ATTR(OpenCLLocalAddressSpace)
TYPE_ATTR(OpenCLPrivateAddressSpace)
TYPE_ATTR(Ptr32)
TYPE_ATTR(Ptr64)
TYPE_ATTR(SPtr)
TYPE_ATTR(TypeNonNull)
TYPE_ATTR(TypeNullUnspecified)
TYPE_ATTR(TypeNullable)
TYPE_ATTR(UPtr)
STMT_ATTR(FallThrough)
STMT_ATTR(Suppress)
DECL_OR_TYPE_ATTR(AArch64VectorPcs)
DECL_OR_TYPE_ATTR(AnyX86NoCfCheck)
DECL_OR_TYPE_ATTR(CDecl)
DECL_OR_TYPE_ATTR(FastCall)
DECL_OR_TYPE_ATTR(IntelOclBicc)
DECL_OR_TYPE_ATTR(LifetimeBound)
DECL_OR_TYPE_ATTR(MSABI)
DECL_OR_TYPE_ATTR(NSReturnsRetained)
DECL_OR_TYPE_ATTR(ObjCOwnership)
DECL_OR_TYPE_ATTR(Pascal)
DECL_OR_TYPE_ATTR(Pcs)
DECL_OR_TYPE_ATTR(PreserveAll)
DECL_OR_TYPE_ATTR(PreserveMost)
DECL_OR_TYPE_ATTR(RegCall)
DECL_OR_TYPE_ATTR(StdCall)
DECL_OR_TYPE_ATTR(SwiftCall)
DECL_OR_TYPE_ATTR(SysVABI)
DECL_OR_TYPE_ATTR(ThisCall)
DECL_OR_TYPE_ATTR(VectorCall)
PARAMETER_ABI_ATTR(SwiftContext)
PARAMETER_ABI_ATTR(SwiftErrorResult)
PARAMETER_ABI_ATTR(SwiftIndirectResult)
INHERITABLE_PARAM_ATTR(Annotate)
INHERITABLE_PARAM_ATTR(CFConsumed)
INHERITABLE_PARAM_ATTR(CarriesDependency)
INHERITABLE_PARAM_ATTR(NSConsumed)
INHERITABLE_PARAM_ATTR(NonNull)
INHERITABLE_PARAM_ATTR(OSConsumed)
INHERITABLE_PARAM_ATTR(PassObjectSize)
INHERITABLE_ATTR(AMDGPUFlatWorkGroupSize)
INHERITABLE_ATTR(AMDGPUNumSGPR)
INHERITABLE_ATTR(AMDGPUNumVGPR)
INHERITABLE_ATTR(AMDGPUWavesPerEU)
INHERITABLE_ATTR(ARMInterrupt)
INHERITABLE_ATTR(AVRInterrupt)
INHERITABLE_ATTR(AVRSignal)
INHERITABLE_ATTR(AcquireCapability)
INHERITABLE_ATTR(AcquiredAfter)
INHERITABLE_ATTR(AcquiredBefore)
INHERITABLE_ATTR(AlignMac68k)
INHERITABLE_ATTR(Aligned)
INHERITABLE_ATTR(AllocAlign)
INHERITABLE_ATTR(AllocSize)
INHERITABLE_ATTR(AlwaysDestroy)
INHERITABLE_ATTR(AlwaysInline)
INHERITABLE_ATTR(AnalyzerNoReturn)
INHERITABLE_ATTR(AnyX86Interrupt)
INHERITABLE_ATTR(AnyX86NoCallerSavedRegisters)
INHERITABLE_ATTR(ArcWeakrefUnavailable)
INHERITABLE_ATTR(ArgumentWithTypeTag)
INHERITABLE_ATTR(Artificial)
INHERITABLE_ATTR(AsmLabel)
INHERITABLE_ATTR(AssertCapability)
INHERITABLE_ATTR(AssertExclusiveLock)
INHERITABLE_ATTR(AssertSharedLock)
INHERITABLE_ATTR(AssumeAligned)
INHERITABLE_ATTR(Availability)
INHERITABLE_ATTR(Blocks)
INHERITABLE_ATTR(C11NoReturn)
INHERITABLE_ATTR(CFAuditedTransfer)
INHERITABLE_ATTR(CFReturnsNotRetained)
INHERITABLE_ATTR(CFReturnsRetained)
INHERITABLE_ATTR(CFUnknownTransfer)
INHERITABLE_ATTR(CPUDispatch)
INHERITABLE_ATTR(CPUSpecific)
INHERITABLE_ATTR(CUDAConstant)
INHERITABLE_ATTR(CUDADevice)
INHERITABLE_ATTR(CUDAGlobal)
INHERITABLE_ATTR(CUDAHost)
INHERITABLE_ATTR(CUDAInvalidTarget)
INHERITABLE_ATTR(CUDALaunchBounds)
INHERITABLE_ATTR(CUDAShared)
INHERITABLE_ATTR(CXX11NoReturn)
INHERITABLE_ATTR(CallableWhen)
INHERITABLE_ATTR(Callback)
INHERITABLE_ATTR(Capability)
INHERITABLE_ATTR(CapturedRecord)
INHERITABLE_ATTR(Cleanup)
INHERITABLE_ATTR(CodeSeg)
INHERITABLE_ATTR(Cold)
INHERITABLE_ATTR(Common)
INHERITABLE_ATTR(Const)
INHERITABLE_ATTR(Constructor)
INHERITABLE_ATTR(Consumable)
INHERITABLE_ATTR(ConsumableAutoCast)
INHERITABLE_ATTR(ConsumableSetOnRead)
INHERITABLE_ATTR(Convergent)
INHERITABLE_ATTR(DLLExport)
INHERITABLE_ATTR(DLLExportStaticLocal)
INHERITABLE_ATTR(DLLImport)
INHERITABLE_ATTR(DLLImportStaticLocal)
INHERITABLE_ATTR(Deprecated)
INHERITABLE_ATTR(Destructor)
INHERITABLE_ATTR(DiagnoseIf)
INHERITABLE_ATTR(DisableTailCalls)
INHERITABLE_ATTR(EmptyBases)
INHERITABLE_ATTR(EnableIf)
INHERITABLE_ATTR(EnumExtensibility)
INHERITABLE_ATTR(ExcludeFromExplicitInstantiation)
INHERITABLE_ATTR(ExclusiveTrylockFunction)
INHERITABLE_ATTR(ExternalSourceSymbol)
INHERITABLE_ATTR(Final)
INHERITABLE_ATTR(FlagEnum)
INHERITABLE_ATTR(Flatten)
INHERITABLE_ATTR(Format)
INHERITABLE_ATTR(FormatArg)
INHERITABLE_ATTR(FortifyStdLib)
INHERITABLE_ATTR(GNUInline)
INHERITABLE_ATTR(GuardedBy)
INHERITABLE_ATTR(GuardedVar)
INHERITABLE_ATTR(Hot)
INHERITABLE_ATTR(IBAction)
INHERITABLE_ATTR(IBOutlet)
INHERITABLE_ATTR(IBOutletCollection)
INHERITABLE_ATTR(InitPriority)
INHERITABLE_ATTR(InternalLinkage)
INHERITABLE_ATTR(LTOVisibilityPublic)
INHERITABLE_ATTR(LayoutVersion)
INHERITABLE_ATTR(LockReturned)
INHERITABLE_ATTR(LocksExcluded)
INHERITABLE_ATTR(MSInheritance)
INHERITABLE_ATTR(MSNoVTable)
INHERITABLE_ATTR(MSP430Interrupt)
INHERITABLE_ATTR(MSStruct)
INHERITABLE_ATTR(MSVtorDisp)
INHERITABLE_ATTR(MaxFieldAlignment)
INHERITABLE_ATTR(MayAlias)
INHERITABLE_ATTR(MicroMips)
INHERITABLE_ATTR(MinSize)
INHERITABLE_ATTR(MinVectorWidth)
INHERITABLE_ATTR(Mips16)
INHERITABLE_ATTR(MipsInterrupt)
INHERITABLE_ATTR(MipsLongCall)
INHERITABLE_ATTR(MipsShortCall)
INHERITABLE_ATTR(NSConsumesSelf)
INHERITABLE_ATTR(NSReturnsAutoreleased)
INHERITABLE_ATTR(NSReturnsNotRetained)
INHERITABLE_ATTR(Naked)
INHERITABLE_ATTR(NoAlias)
INHERITABLE_ATTR(NoCommon)
INHERITABLE_ATTR(NoDebug)
INHERITABLE_ATTR(NoDestroy)
INHERITABLE_ATTR(NoDuplicate)
INHERITABLE_ATTR(NoInline)
INHERITABLE_ATTR(NoInstrumentFunction)
INHERITABLE_ATTR(NoMicroMips)
INHERITABLE_ATTR(NoMips16)
INHERITABLE_ATTR(NoReturn)
INHERITABLE_ATTR(NoSanitize)
INHERITABLE_ATTR(NoSpeculativeLoadHardening)
INHERITABLE_ATTR(NoSplitStack)
INHERITABLE_ATTR(NoStackProtector)
INHERITABLE_ATTR(NoThreadSafetyAnalysis)
INHERITABLE_ATTR(NoThrow)
INHERITABLE_ATTR(NotTailCalled)
INHERITABLE_ATTR(OMPCaptureNoInit)
INHERITABLE_ATTR(OMPDeclareTargetDecl)
INHERITABLE_ATTR(OMPThreadPrivateDecl)
INHERITABLE_ATTR(OSConsumesThis)
INHERITABLE_ATTR(OSReturnsNotRetained)
INHERITABLE_ATTR(OSReturnsRetained)
INHERITABLE_ATTR(OSReturnsRetainedOnNonZero)
INHERITABLE_ATTR(OSReturnsRetainedOnZero)
INHERITABLE_ATTR(ObjCBridge)
INHERITABLE_ATTR(ObjCBridgeMutable)
INHERITABLE_ATTR(ObjCBridgeRelated)
INHERITABLE_ATTR(ObjCException)
INHERITABLE_ATTR(ObjCExplicitProtocolImpl)
INHERITABLE_ATTR(ObjCExternallyRetained)
INHERITABLE_ATTR(ObjCIndependentClass)
INHERITABLE_ATTR(ObjCMethodFamily)
INHERITABLE_ATTR(ObjCNSObject)
INHERITABLE_ATTR(ObjCPreciseLifetime)
INHERITABLE_ATTR(ObjCRequiresPropertyDefs)
INHERITABLE_ATTR(ObjCRequiresSuper)
INHERITABLE_ATTR(ObjCReturnsInnerPointer)
INHERITABLE_ATTR(ObjCRootClass)
INHERITABLE_ATTR(ObjCSubclassingRestricted)
INHERITABLE_ATTR(OpenCLIntelReqdSubGroupSize)
INHERITABLE_ATTR(OpenCLKernel)
INHERITABLE_ATTR(OpenCLUnrollHint)
INHERITABLE_ATTR(OptimizeNone)
INHERITABLE_ATTR(Override)
INHERITABLE_ATTR(Ownership)
INHERITABLE_ATTR(Packed)
INHERITABLE_ATTR(ParamTypestate)
INHERITABLE_ATTR(PragmaClangBSSSection)
INHERITABLE_ATTR(PragmaClangDataSection)
INHERITABLE_ATTR(PragmaClangRodataSection)
INHERITABLE_ATTR(PragmaClangTextSection)
INHERITABLE_ATTR(PtGuardedBy)
INHERITABLE_ATTR(PtGuardedVar)
INHERITABLE_ATTR(Pure)
INHERITABLE_ATTR(RISCVInterrupt)
INHERITABLE_ATTR(Reinitializes)
INHERITABLE_ATTR(ReleaseCapability)
INHERITABLE_ATTR(ReqdWorkGroupSize)
INHERITABLE_ATTR(RequireConstantInit)
INHERITABLE_ATTR(RequiresCapability)
INHERITABLE_ATTR(Restrict)
INHERITABLE_ATTR(ReturnTypestate)
INHERITABLE_ATTR(ReturnsNonNull)
INHERITABLE_ATTR(ReturnsTwice)
INHERITABLE_ATTR(ScopedLockable)
INHERITABLE_ATTR(Section)
INHERITABLE_ATTR(SelectAny)
INHERITABLE_ATTR(Sentinel)
INHERITABLE_ATTR(SetTypestate)
INHERITABLE_ATTR(SharedTrylockFunction)
INHERITABLE_ATTR(SpeculativeLoadHardening)
INHERITABLE_ATTR(TLSModel)
INHERITABLE_ATTR(Target)
INHERITABLE_ATTR(TestTypestate)
INHERITABLE_ATTR(TransparentUnion)
INHERITABLE_ATTR(TrivialABI)
INHERITABLE_ATTR(TryAcquireCapability)
INHERITABLE_ATTR(TypeTagForDatatype)
INHERITABLE_ATTR(TypeVisibility)
INHERITABLE_ATTR(Unavailable)
INHERITABLE_ATTR(Uninitialized)
INHERITABLE_ATTR(Unused)
INHERITABLE_ATTR(Used)
INHERITABLE_ATTR(Uuid)
INHERITABLE_ATTR(VecReturn)
INHERITABLE_ATTR(VecTypeHint)
INHERITABLE_ATTR(Visibility)
INHERITABLE_ATTR(WarnUnused)
INHERITABLE_ATTR(WarnUnusedResult)
INHERITABLE_ATTR(Weak)
INHERITABLE_ATTR(WeakImport)
INHERITABLE_ATTR(WeakRef)
INHERITABLE_ATTR(WebAssemblyImportModule)
INHERITABLE_ATTR(WebAssemblyImportName)
INHERITABLE_ATTR(WorkGroupSizeHint)
INHERITABLE_ATTR(X86ForceAlignArgPointer)
INHERITABLE_ATTR(XRayInstrument)
INHERITABLE_ATTR(XRayLogArgs)
ATTR(AbiTag)
ATTR(Alias)
ATTR(AlignValue)
ATTR(IFunc)
ATTR(InitSeg)
ATTR(LoopHint)
ATTR(Mode)
ATTR(NoEscape)
ATTR(OMPCaptureKind)
ATTR(OMPDeclareSimdDecl)
ATTR(OMPReferencedVar)
ATTR(ObjCBoxable)
ATTR(ObjCDesignatedInitializer)
ATTR(ObjCNonLazyClass)
ATTR(ObjCRuntimeName)
ATTR(ObjCRuntimeVisible)
ATTR(OpenCLAccess)
ATTR(Overloadable)
ATTR(RenderScriptKernel)
ATTR(Thread)
PRAGMA_SPELLING_ATTR(InitSeg)
PRAGMA_SPELLING_ATTR(LoopHint)
PRAGMA_SPELLING_ATTR(OMPDeclareSimdDecl)
PRAGMA_SPELLING_ATTR(OMPDeclareTargetDecl)
#ifdef ATTR_RANGE
ATTR_RANGE(Attr, AddressSpace, Thread)
ATTR_RANGE(TypeAttr, AddressSpace, UPtr)
ATTR_RANGE(StmtAttr, FallThrough, Suppress)
ATTR_RANGE(InheritableAttr, AArch64VectorPcs, XRayLogArgs)
ATTR_RANGE(DeclOrTypeAttr, AArch64VectorPcs, VectorCall)
ATTR_RANGE(InheritableParamAttr, SwiftContext, PassObjectSize)
ATTR_RANGE(ParameterABIAttr, SwiftContext, SwiftIndirectResult)
#undef ATTR_RANGE
#endif
#undef ATTR
#undef TYPE_ATTR
#undef STMT_ATTR
#undef INHERITABLE_ATTR
#undef DECL_OR_TYPE_ATTR
#undef INHERITABLE_PARAM_ATTR
#undef PARAMETER_ABI_ATTR
#undef PRAGMA_SPELLING_ATTR
