235 lines · plain
1// RUN: clang-tblgen -gen-clang-test-pragma-attribute-supported-attributes -I%src_include_dir %src_include_dir/clang/Basic/Attr.td -o - | FileCheck %s2 3// The number of supported attributes should never go down!4 5// CHECK: #pragma clang attribute supports the following attributes:6// CHECK-NEXT: AMDGPUFlatWorkGroupSize (SubjectMatchRule_function)7// CHECK-NEXT: AMDGPUMaxNumWorkGroups (SubjectMatchRule_function)8// CHECK-NEXT: AMDGPUNumSGPR (SubjectMatchRule_function)9// CHECK-NEXT: AMDGPUNumVGPR (SubjectMatchRule_function)10// CHECK-NEXT: AMDGPUWavesPerEU (SubjectMatchRule_function)11// CHECK-NEXT: AVRSignal (SubjectMatchRule_function)12// CHECK-NEXT: AbiTag (SubjectMatchRule_record_not_is_union, SubjectMatchRule_variable, SubjectMatchRule_function, SubjectMatchRule_namespace)13// CHECK-NEXT: AcquireHandle (SubjectMatchRule_function, SubjectMatchRule_type_alias, SubjectMatchRule_variable_is_parameter)14// CHECK-NEXT: Alias (SubjectMatchRule_function, SubjectMatchRule_variable_is_global)15// CHECK-NEXT: AlignValue (SubjectMatchRule_variable, SubjectMatchRule_type_alias)16// CHECK-NEXT: AlwaysDestroy (SubjectMatchRule_variable)17// CHECK-NEXT: AlwaysInline (SubjectMatchRule_function)18// CHECK-NEXT: Annotate ()19// CHECK-NEXT: AnyX86NoCfCheck (SubjectMatchRule_hasType_functionType)20// CHECK-NEXT: ArcWeakrefUnavailable (SubjectMatchRule_objc_interface)21// CHECK-NEXT: ArmBuiltinAlias (SubjectMatchRule_function)22// CHECK-NEXT: AssumeAligned (SubjectMatchRule_objc_method, SubjectMatchRule_function)23// CHECK-NEXT: Availability ((SubjectMatchRule_record, SubjectMatchRule_enum, SubjectMatchRule_enum_constant, SubjectMatchRule_field, SubjectMatchRule_function, SubjectMatchRule_namespace, SubjectMatchRule_objc_category, SubjectMatchRule_objc_implementation, SubjectMatchRule_objc_interface, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property, SubjectMatchRule_objc_protocol, SubjectMatchRule_record, SubjectMatchRule_type_alias, SubjectMatchRule_variable))24// CHECK-NEXT: AvailableOnlyInDefaultEvalMethod (SubjectMatchRule_type_alias)25// CHECK-NEXT: BPFFastCall (SubjectMatchRule_hasType_functionType)26// CHECK-NEXT: BPFPreserveAccessIndex (SubjectMatchRule_record)27// CHECK-NEXT: BPFPreserveStaticOffset (SubjectMatchRule_record)28// CHECK-NEXT: BTFDeclTag (SubjectMatchRule_variable, SubjectMatchRule_function, SubjectMatchRule_record, SubjectMatchRule_field, SubjectMatchRule_type_alias)29// CHECK-NEXT: BuiltinAlias (SubjectMatchRule_function)30// CHECK-NEXT: CFAuditedTransfer (SubjectMatchRule_function)31// CHECK-NEXT: CFConsumed (SubjectMatchRule_variable_is_parameter)32// CHECK-NEXT: CFGuard (SubjectMatchRule_function)33// CHECK-NEXT: CFICanonicalJumpTable (SubjectMatchRule_function)34// CHECK-NEXT: CFISalt (SubjectMatchRule_hasType_functionType)35// CHECK-NEXT: CFUnknownTransfer (SubjectMatchRule_function)36// CHECK-NEXT: CPUDispatch (SubjectMatchRule_function)37// CHECK-NEXT: CPUSpecific (SubjectMatchRule_function)38// CHECK-NEXT: CUDAClusterDims (SubjectMatchRule_objc_method, SubjectMatchRule_hasType_functionType)39// CHECK-NEXT: CUDAConstant (SubjectMatchRule_variable)40// CHECK-NEXT: CUDADevice (SubjectMatchRule_function, SubjectMatchRule_variable)41// CHECK-NEXT: CUDADeviceBuiltinSurfaceType (SubjectMatchRule_record)42// CHECK-NEXT: CUDADeviceBuiltinTextureType (SubjectMatchRule_record)43// CHECK-NEXT: CUDAGlobal (SubjectMatchRule_function)44// CHECK-NEXT: CUDAGridConstant (SubjectMatchRule_variable_is_parameter)45// CHECK-NEXT: CUDAHost (SubjectMatchRule_function)46// CHECK-NEXT: CUDALaunchBounds (SubjectMatchRule_objc_method, SubjectMatchRule_hasType_functionType)47// CHECK-NEXT: CUDANoCluster (SubjectMatchRule_objc_method, SubjectMatchRule_hasType_functionType)48// CHECK-NEXT: CUDAShared (SubjectMatchRule_variable)49// CHECK-NEXT: CXX11NoReturn (SubjectMatchRule_function)50// CHECK-NEXT: CallableWhen (SubjectMatchRule_function_is_member)51// CHECK-NEXT: Callback (SubjectMatchRule_function)52// CHECK-NEXT: CalledOnce (SubjectMatchRule_variable_is_parameter)53// CHECK-NEXT: Capability (SubjectMatchRule_record, SubjectMatchRule_type_alias)54// CHECK-NEXT: CarriesDependency (SubjectMatchRule_variable_is_parameter, SubjectMatchRule_objc_method, SubjectMatchRule_function)55// CHECK-NEXT: Cleanup (SubjectMatchRule_variable_is_local)56// CHECK-NEXT: ClspvLibclcBuiltin (SubjectMatchRule_function)57// CHECK-NEXT: CmseNSEntry (SubjectMatchRule_function)58// CHECK-NEXT: Cold (SubjectMatchRule_function)59// CHECK-NEXT: Common (SubjectMatchRule_variable)60// CHECK-NEXT: ConstInit (SubjectMatchRule_variable_is_global)61// CHECK-NEXT: Constructor (SubjectMatchRule_function)62// CHECK-NEXT: Consumable (SubjectMatchRule_record)63// CHECK-NEXT: ConsumableAutoCast (SubjectMatchRule_record)64// CHECK-NEXT: ConsumableSetOnRead (SubjectMatchRule_record)65// CHECK-NEXT: Convergent (SubjectMatchRule_function)66// CHECK-NEXT: CoroAwaitElidable (SubjectMatchRule_record)67// CHECK-NEXT: CoroAwaitElidableArgument (SubjectMatchRule_variable_is_parameter)68// CHECK-NEXT: CoroDisableLifetimeBound (SubjectMatchRule_function)69// CHECK-NEXT: CoroLifetimeBound (SubjectMatchRule_record)70// CHECK-NEXT: CoroOnlyDestroyWhenComplete (SubjectMatchRule_record)71// CHECK-NEXT: CoroReturnType (SubjectMatchRule_record)72// CHECK-NEXT: CoroWrapper (SubjectMatchRule_function)73// CHECK-NEXT: DLLExport (SubjectMatchRule_function, SubjectMatchRule_variable, SubjectMatchRule_record, SubjectMatchRule_objc_interface)74// CHECK-NEXT: DLLImport (SubjectMatchRule_function, SubjectMatchRule_variable, SubjectMatchRule_record, SubjectMatchRule_objc_interface)75// CHECK-NEXT: Destructor (SubjectMatchRule_function)76// CHECK-NEXT: DiagnoseAsBuiltin (SubjectMatchRule_function)77// CHECK-NEXT: DisableSanitizerInstrumentation (SubjectMatchRule_function, SubjectMatchRule_objc_method, SubjectMatchRule_variable_is_global)78// CHECK-NEXT: DisableTailCalls (SubjectMatchRule_function, SubjectMatchRule_objc_method)79// CHECK-NEXT: EnableIf (SubjectMatchRule_function)80// CHECK-NEXT: EnforceTCB (SubjectMatchRule_function, SubjectMatchRule_objc_method)81// CHECK-NEXT: EnforceTCBLeaf (SubjectMatchRule_function, SubjectMatchRule_objc_method)82// CHECK-NEXT: EnumExtensibility (SubjectMatchRule_enum)83// CHECK-NEXT: Error (SubjectMatchRule_function)84// CHECK-NEXT: ExcludeFromExplicitInstantiation (SubjectMatchRule_variable, SubjectMatchRule_function, SubjectMatchRule_record)85// CHECK-NEXT: ExplicitInit (SubjectMatchRule_field)86// CHECK-NEXT: ExternalSourceSymbol ((SubjectMatchRule_record, SubjectMatchRule_enum, SubjectMatchRule_enum_constant, SubjectMatchRule_field, SubjectMatchRule_function, SubjectMatchRule_namespace, SubjectMatchRule_objc_category, SubjectMatchRule_objc_implementation, SubjectMatchRule_objc_interface, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property, SubjectMatchRule_objc_protocol, SubjectMatchRule_record, SubjectMatchRule_type_alias, SubjectMatchRule_variable))87// CHECK-NEXT: FlagEnum (SubjectMatchRule_enum)88// CHECK-NEXT: Flatten (SubjectMatchRule_function)89// CHECK-NEXT: FunctionReturnThunks (SubjectMatchRule_function)90// CHECK-NEXT: GNUInline (SubjectMatchRule_function)91// CHECK-NEXT: HIPManaged (SubjectMatchRule_variable)92// CHECK-NEXT: Hot (SubjectMatchRule_function)93// CHECK-NEXT: HybridPatchable (SubjectMatchRule_function)94// CHECK-NEXT: IBAction (SubjectMatchRule_objc_method_is_instance)95// CHECK-NEXT: IFunc (SubjectMatchRule_function)96// CHECK-NEXT: InitPriority (SubjectMatchRule_variable)97// CHECK-NEXT: InternalLinkage (SubjectMatchRule_variable, SubjectMatchRule_function, SubjectMatchRule_record)98// CHECK-NEXT: LTOVisibilityPublic (SubjectMatchRule_record)99// CHECK-NEXT: Leaf (SubjectMatchRule_function)100// CHECK-NEXT: LoaderUninitialized (SubjectMatchRule_variable_is_global)101// CHECK-NEXT: Lockable (SubjectMatchRule_record)102// CHECK-NEXT: MIGServerRoutine (SubjectMatchRule_function, SubjectMatchRule_objc_method, SubjectMatchRule_block)103// CHECK-NEXT: MSConstexpr (SubjectMatchRule_function)104// CHECK-NEXT: MSStruct (SubjectMatchRule_record)105// CHECK-NEXT: MallocSpan (SubjectMatchRule_function)106// CHECK-NEXT: MaybeUndef (SubjectMatchRule_variable_is_parameter)107// CHECK-NEXT: MicroMips (SubjectMatchRule_function)108// CHECK-NEXT: MinSize (SubjectMatchRule_function, SubjectMatchRule_objc_method)109// CHECK-NEXT: MinVectorWidth (SubjectMatchRule_function)110// CHECK-NEXT: Mips16 (SubjectMatchRule_function)111// CHECK-NEXT: MipsLongCall (SubjectMatchRule_function)112// CHECK-NEXT: MipsShortCall (SubjectMatchRule_function)113// CHECK-NEXT: NSConsumed (SubjectMatchRule_variable_is_parameter)114// CHECK-NEXT: NSConsumesSelf (SubjectMatchRule_objc_method)115// CHECK-NEXT: NSErrorDomain (SubjectMatchRule_enum)116// CHECK-NEXT: Naked (SubjectMatchRule_function)117// CHECK-NEXT: NoBuiltin (SubjectMatchRule_function)118// CHECK-NEXT: NoCommon (SubjectMatchRule_variable)119// CHECK-NEXT: NoConvergent (SubjectMatchRule_function)120// CHECK-NEXT: NoDebug (SubjectMatchRule_type_alias, SubjectMatchRule_hasType_functionType, SubjectMatchRule_objc_method, SubjectMatchRule_variable_not_is_parameter)121// CHECK-NEXT: NoDestroy (SubjectMatchRule_variable)122// CHECK-NEXT: NoDuplicate (SubjectMatchRule_function)123// CHECK-NEXT: NoEscape (SubjectMatchRule_variable_is_parameter)124// CHECK-NEXT: NoInline (SubjectMatchRule_function)125// CHECK-NEXT: NoInstrumentFunction (SubjectMatchRule_function, SubjectMatchRule_objc_method)126// CHECK-NEXT: NoMerge (SubjectMatchRule_function, SubjectMatchRule_variable)127// CHECK-NEXT: NoMicroMips (SubjectMatchRule_function)128// CHECK-NEXT: NoMips16 (SubjectMatchRule_function)129// CHECK-NEXT: NoProfileFunction (SubjectMatchRule_function)130// CHECK-NEXT: NoRandomizeLayout (SubjectMatchRule_record)131// CHECK-NEXT: NoSanitize (SubjectMatchRule_function, SubjectMatchRule_objc_method, SubjectMatchRule_variable_is_global)132// CHECK-NEXT: NoSanitizeAddress (SubjectMatchRule_function, SubjectMatchRule_variable_is_global)133// CHECK-NEXT: NoSanitizeMemory (SubjectMatchRule_function)134// CHECK-NEXT: NoSanitizeThread (SubjectMatchRule_function)135// CHECK-NEXT: NoSpeculativeLoadHardening (SubjectMatchRule_function, SubjectMatchRule_objc_method)136// CHECK-NEXT: NoSplitStack (SubjectMatchRule_function)137// CHECK-NEXT: NoStackProtector (SubjectMatchRule_function)138// CHECK-NEXT: NoThreadSafetyAnalysis (SubjectMatchRule_function)139// CHECK-NEXT: NoThrow (SubjectMatchRule_hasType_functionType)140// CHECK-NEXT: NoUwtable (SubjectMatchRule_hasType_functionType)141// CHECK-NEXT: NonString (SubjectMatchRule_variable, SubjectMatchRule_field)142// CHECK-NEXT: NotTailCalled (SubjectMatchRule_function)143// CHECK-NEXT: OMPAssume (SubjectMatchRule_function, SubjectMatchRule_objc_method)144// CHECK-NEXT: OSConsumed (SubjectMatchRule_variable_is_parameter)145// CHECK-NEXT: OSReturnsNotRetained (SubjectMatchRule_function, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property, SubjectMatchRule_variable_is_parameter)146// CHECK-NEXT: OSReturnsRetained (SubjectMatchRule_function, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property, SubjectMatchRule_variable_is_parameter)147// CHECK-NEXT: OSReturnsRetainedOnNonZero (SubjectMatchRule_variable_is_parameter)148// CHECK-NEXT: OSReturnsRetainedOnZero (SubjectMatchRule_variable_is_parameter)149// CHECK-NEXT: ObjCBoxable (SubjectMatchRule_record)150// CHECK-NEXT: ObjCBridge (SubjectMatchRule_record, SubjectMatchRule_type_alias)151// CHECK-NEXT: ObjCBridgeMutable (SubjectMatchRule_record)152// CHECK-NEXT: ObjCBridgeRelated (SubjectMatchRule_record)153// CHECK-NEXT: ObjCClassStub (SubjectMatchRule_objc_interface)154// CHECK-NEXT: ObjCDesignatedInitializer (SubjectMatchRule_objc_method)155// CHECK-NEXT: ObjCDirect (SubjectMatchRule_objc_method)156// CHECK-NEXT: ObjCDirectMembers (SubjectMatchRule_objc_implementation, SubjectMatchRule_objc_interface, SubjectMatchRule_objc_category)157// CHECK-NEXT: ObjCException (SubjectMatchRule_objc_interface)158// CHECK-NEXT: ObjCExplicitProtocolImpl (SubjectMatchRule_objc_protocol)159// CHECK-NEXT: ObjCExternallyRetained (SubjectMatchRule_variable_not_is_parameter, SubjectMatchRule_function, SubjectMatchRule_block, SubjectMatchRule_objc_method)160// CHECK-NEXT: ObjCMethodFamily (SubjectMatchRule_objc_method)161// CHECK-NEXT: ObjCNonLazyClass (SubjectMatchRule_objc_interface, SubjectMatchRule_objc_implementation)162// CHECK-NEXT: ObjCNonRuntimeProtocol (SubjectMatchRule_objc_protocol)163// CHECK-NEXT: ObjCPreciseLifetime (SubjectMatchRule_variable)164// CHECK-NEXT: ObjCRequiresPropertyDefs (SubjectMatchRule_objc_interface)165// CHECK-NEXT: ObjCRequiresSuper (SubjectMatchRule_objc_method)166// CHECK-NEXT: ObjCReturnsInnerPointer (SubjectMatchRule_objc_method, SubjectMatchRule_objc_property)167// CHECK-NEXT: ObjCRootClass (SubjectMatchRule_objc_interface)168// CHECK-NEXT: ObjCRuntimeName (SubjectMatchRule_objc_interface, SubjectMatchRule_objc_protocol)169// CHECK-NEXT: ObjCRuntimeVisible (SubjectMatchRule_objc_interface)170// CHECK-NEXT: ObjCSubclassingRestricted (SubjectMatchRule_objc_interface)171// CHECK-NEXT: OpenCLIntelReqdSubGroupSize (SubjectMatchRule_function)172// CHECK-NEXT: OpenCLNoSVM (SubjectMatchRule_variable)173// CHECK-NEXT: OptimizeNone (SubjectMatchRule_function, SubjectMatchRule_objc_method)174// CHECK-NEXT: Overloadable (SubjectMatchRule_function)175// CHECK-NEXT: Owner (SubjectMatchRule_record_not_is_union)176// CHECK-NEXT: ParamTypestate (SubjectMatchRule_variable_is_parameter)177// CHECK-NEXT: PassObjectSize (SubjectMatchRule_variable_is_parameter)178// CHECK-NEXT: PatchableFunctionEntry (SubjectMatchRule_function, SubjectMatchRule_objc_method)179// CHECK-NEXT: Pointer (SubjectMatchRule_record_not_is_union)180// CHECK-NEXT: PreserveNone (SubjectMatchRule_hasType_functionType)181// CHECK-NEXT: RandomizeLayout (SubjectMatchRule_record)182// CHECK-NEXT: ReadOnlyPlacement (SubjectMatchRule_record)183// CHECK-NEXT: ReentrantCapability (SubjectMatchRule_record, SubjectMatchRule_type_alias)184// CHECK-NEXT: ReleaseHandle (SubjectMatchRule_variable_is_parameter)185// CHECK-NEXT: ReqdWorkGroupSize (SubjectMatchRule_function)186// CHECK-NEXT: Restrict (SubjectMatchRule_function)187// CHECK-NEXT: ReturnTypestate (SubjectMatchRule_function, SubjectMatchRule_variable_is_parameter)188// CHECK-NEXT: ReturnsNonNull (SubjectMatchRule_objc_method, SubjectMatchRule_function)189// CHECK-NEXT: ReturnsTwice (SubjectMatchRule_function)190// CHECK-NEXT: SYCLExternal (SubjectMatchRule_function)191// CHECK-NEXT: SYCLKernelEntryPoint (SubjectMatchRule_function)192// CHECK-NEXT: SYCLSpecialClass (SubjectMatchRule_record)193// CHECK-NEXT: ScopedLockable (SubjectMatchRule_record)194// CHECK-NEXT: Section (SubjectMatchRule_function, SubjectMatchRule_variable_is_global, SubjectMatchRule_objc_method, SubjectMatchRule_objc_property)195// CHECK-NEXT: SetTypestate (SubjectMatchRule_function_is_member)196// CHECK-NEXT: SpeculativeLoadHardening (SubjectMatchRule_function, SubjectMatchRule_objc_method)197// CHECK-NEXT: StandaloneDebug (SubjectMatchRule_record)198// CHECK-NEXT: SwiftAsync (SubjectMatchRule_function, SubjectMatchRule_objc_method)199// CHECK-NEXT: SwiftAsyncContext (SubjectMatchRule_variable_is_parameter)200// CHECK-NEXT: SwiftAsyncError (SubjectMatchRule_function, SubjectMatchRule_objc_method)201// CHECK-NEXT: SwiftAsyncName (SubjectMatchRule_objc_method, SubjectMatchRule_function)202// CHECK-NEXT: SwiftAttr ()203// CHECK-NEXT: SwiftBridgedTypedef (SubjectMatchRule_type_alias)204// CHECK-NEXT: SwiftContext (SubjectMatchRule_variable_is_parameter)205// CHECK-NEXT: SwiftError (SubjectMatchRule_function, SubjectMatchRule_objc_method)206// CHECK-NEXT: SwiftErrorResult (SubjectMatchRule_variable_is_parameter)207// CHECK-NEXT: SwiftIndirectResult (SubjectMatchRule_variable_is_parameter)208// CHECK-NEXT: SwiftNewType (SubjectMatchRule_type_alias)209// CHECK-NEXT: SwiftObjCMembers (SubjectMatchRule_objc_interface)210// CHECK-NEXT: TLSModel (SubjectMatchRule_variable_is_thread_local)211// CHECK-NEXT: Target (SubjectMatchRule_function)212// CHECK-NEXT: TargetClones (SubjectMatchRule_function)213// CHECK-NEXT: TargetVersion (SubjectMatchRule_function)214// CHECK-NEXT: TestTypestate (SubjectMatchRule_function_is_member)215// CHECK-NEXT: TrivialABI (SubjectMatchRule_record)216// CHECK-NEXT: Uninitialized (SubjectMatchRule_variable_is_local)217// CHECK-NEXT: UnsafeBufferUsage (SubjectMatchRule_function, SubjectMatchRule_field)218// CHECK-NEXT: UseHandle (SubjectMatchRule_variable_is_parameter)219// CHECK-NEXT: VTablePointerAuthentication (SubjectMatchRule_record)220// CHECK-NEXT: VecReturn (SubjectMatchRule_record)221// CHECK-NEXT: VecTypeHint (SubjectMatchRule_function)222// CHECK-NEXT: Visibility ()223// CHECK-NEXT: WarnUnused (SubjectMatchRule_record)224// CHECK-NEXT: WarnUnusedResult (SubjectMatchRule_objc_method, SubjectMatchRule_enum, SubjectMatchRule_record, SubjectMatchRule_hasType_functionType, SubjectMatchRule_type_alias)225// CHECK-NEXT: Weak (SubjectMatchRule_variable, SubjectMatchRule_function, SubjectMatchRule_record)226// CHECK-NEXT: WeakRef (SubjectMatchRule_variable, SubjectMatchRule_function)227// CHECK-NEXT: WebAssemblyExportName (SubjectMatchRule_function)228// CHECK-NEXT: WebAssemblyImportModule (SubjectMatchRule_function)229// CHECK-NEXT: WebAssemblyImportName (SubjectMatchRule_function)230// CHECK-NEXT: WorkGroupSizeHint (SubjectMatchRule_function)231// CHECK-NEXT: XRayInstrument (SubjectMatchRule_function, SubjectMatchRule_objc_method)232// CHECK-NEXT: XRayLogArgs (SubjectMatchRule_function, SubjectMatchRule_objc_method)233// CHECK-NEXT: ZeroCallUsedRegs (SubjectMatchRule_function)234// CHECK-NEXT: End of supported attributes.235