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

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

#ifndef INHERITABLE_ATTR
#define INHERITABLE_ATTR(NAME) 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

STMT_ATTR(FallThrough)
STMT_ATTR(Suppress)
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(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(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(CDecl)
INHERITABLE_ATTR(CFAuditedTransfer)
INHERITABLE_ATTR(CFReturnsNotRetained)
INHERITABLE_ATTR(CFReturnsRetained)
INHERITABLE_ATTR(CFUnknownTransfer)
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(Capability)
INHERITABLE_ATTR(CapturedRecord)
INHERITABLE_ATTR(Cleanup)
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(DLLImport)
INHERITABLE_ATTR(Deprecated)
INHERITABLE_ATTR(Destructor)
INHERITABLE_ATTR(DiagnoseIf)
INHERITABLE_ATTR(DisableTailCalls)
INHERITABLE_ATTR(EmptyBases)
INHERITABLE_ATTR(EnableIf)
INHERITABLE_ATTR(EnumExtensibility)
INHERITABLE_ATTR(ExclusiveTrylockFunction)
INHERITABLE_ATTR(ExternalSourceSymbol)
INHERITABLE_ATTR(FastCall)
INHERITABLE_ATTR(Final)
INHERITABLE_ATTR(FlagEnum)
INHERITABLE_ATTR(Flatten)
INHERITABLE_ATTR(Format)
INHERITABLE_ATTR(FormatArg)
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(IntelOclBicc)
INHERITABLE_ATTR(InternalLinkage)
INHERITABLE_ATTR(LTOVisibilityPublic)
INHERITABLE_ATTR(LayoutVersion)
INHERITABLE_ATTR(LockReturned)
INHERITABLE_ATTR(LocksExcluded)
INHERITABLE_ATTR(MSABI)
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(Mips16)
INHERITABLE_ATTR(MipsInterrupt)
INHERITABLE_ATTR(MipsLongCall)
INHERITABLE_ATTR(MipsShortCall)
INHERITABLE_ATTR(NSConsumesSelf)
INHERITABLE_ATTR(NSReturnsAutoreleased)
INHERITABLE_ATTR(NSReturnsNotRetained)
INHERITABLE_ATTR(NSReturnsRetained)
INHERITABLE_ATTR(Naked)
INHERITABLE_ATTR(NoAlias)
INHERITABLE_ATTR(NoCommon)
INHERITABLE_ATTR(NoDebug)
INHERITABLE_ATTR(NoDuplicate)
INHERITABLE_ATTR(NoInline)
INHERITABLE_ATTR(NoInstrumentFunction)
INHERITABLE_ATTR(NoMicroMips)
INHERITABLE_ATTR(NoMips16)
INHERITABLE_ATTR(NoReturn)
INHERITABLE_ATTR(NoSanitize)
INHERITABLE_ATTR(NoSplitStack)
INHERITABLE_ATTR(NoThreadSafetyAnalysis)
INHERITABLE_ATTR(NoThrow)
INHERITABLE_ATTR(NotTailCalled)
INHERITABLE_ATTR(OMPCaptureNoInit)
INHERITABLE_ATTR(OMPThreadPrivateDecl)
INHERITABLE_ATTR(ObjCBridge)
INHERITABLE_ATTR(ObjCBridgeMutable)
INHERITABLE_ATTR(ObjCBridgeRelated)
INHERITABLE_ATTR(ObjCException)
INHERITABLE_ATTR(ObjCExplicitProtocolImpl)
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(Pascal)
INHERITABLE_ATTR(Pcs)
INHERITABLE_ATTR(PragmaClangBSSSection)
INHERITABLE_ATTR(PragmaClangDataSection)
INHERITABLE_ATTR(PragmaClangRodataSection)
INHERITABLE_ATTR(PragmaClangTextSection)
INHERITABLE_ATTR(PreserveAll)
INHERITABLE_ATTR(PreserveMost)
INHERITABLE_ATTR(PtGuardedBy)
INHERITABLE_ATTR(PtGuardedVar)
INHERITABLE_ATTR(Pure)
INHERITABLE_ATTR(RegCall)
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(StdCall)
INHERITABLE_ATTR(SwiftCall)
INHERITABLE_ATTR(SysVABI)
INHERITABLE_ATTR(TLSModel)
INHERITABLE_ATTR(Target)
INHERITABLE_ATTR(TestTypestate)
INHERITABLE_ATTR(ThisCall)
INHERITABLE_ATTR(TransparentUnion)
INHERITABLE_ATTR(TrivialABI)
INHERITABLE_ATTR(TryAcquireCapability)
INHERITABLE_ATTR(TypeTagForDatatype)
INHERITABLE_ATTR(TypeVisibility)
INHERITABLE_ATTR(Unavailable)
INHERITABLE_ATTR(Unused)
INHERITABLE_ATTR(Used)
INHERITABLE_ATTR(Uuid)
INHERITABLE_ATTR(VecReturn)
INHERITABLE_ATTR(VecTypeHint)
INHERITABLE_ATTR(VectorCall)
INHERITABLE_ATTR(Visibility)
INHERITABLE_ATTR(WarnUnused)
INHERITABLE_ATTR(WarnUnusedResult)
INHERITABLE_ATTR(Weak)
INHERITABLE_ATTR(WeakImport)
INHERITABLE_ATTR(WeakRef)
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(OMPDeclareTargetDecl)
ATTR(ObjCBoxable)
ATTR(ObjCDesignatedInitializer)
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, FallThrough, Thread)
ATTR_RANGE(StmtAttr, FallThrough, Suppress)
ATTR_RANGE(InheritableAttr, SwiftContext, XRayLogArgs)
ATTR_RANGE(InheritableParamAttr, SwiftContext, PassObjectSize)
ATTR_RANGE(ParameterABIAttr, SwiftContext, SwiftIndirectResult)
#undef ATTR_RANGE
#endif
#undef ATTR
#undef STMT_ATTR
#undef INHERITABLE_ATTR
#undef INHERITABLE_PARAM_ATTR
#undef PARAMETER_ABI_ATTR
#undef PRAGMA_SPELLING_ATTR
