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