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

#ifndef PARSED_ATTR
#define PARSED_ATTR(NAME) NAME
#endif

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