H A D | SemaDeclAttr.cpp | 198 static unsigned getNumAttributeArgs(const ParsedAttr &AL) { argument 200 return AL.getNumArgs() + AL.hasParsedType(); 207 getAttrLoc(const AttrInfo &AL) { argument 208 return AL.getLocation(); 210 static SourceLocation getAttrLoc(const ParsedAttr &AL) { return AL.getLoc(); } argument 275 static bool checkAttrMutualExclusion(Sema &S, Decl *D, const ParsedAttr &AL) { argument 277 S.Diag(AL.getLoc(), diag::err_attributes_are_not_compatible) 278 << AL << 287 checkAttrMutualExclusion(Sema &S, Decl *D, const Attr &AL) argument 367 checkStringLiteralArgumentAttr(const ParsedAttr &AL, unsigned ArgNum, StringRef &Str, SourceLocation *ArgLocation) argument 482 threadSafetyCheckIsPointer(Sema &S, const Decl *D, const ParsedAttr &AL) argument 603 checkAttrArgsAreCapabilityObjs(Sema &S, Decl *D, const ParsedAttr &AL, SmallVectorImpl<Expr *> &Args, unsigned Sidx = 0, bool ParamIdxOk = false) argument 700 handlePtGuardedVarAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 707 checkGuardedByAttrCommon(Sema &S, Decl *D, const ParsedAttr &AL, Expr *&Arg) argument 721 handleGuardedByAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 729 handlePtGuardedByAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 740 checkAcquireOrderAttrCommon(Sema &S, Decl *D, const ParsedAttr &AL, SmallVectorImpl<Expr *> &Args) argument 760 handleAcquiredAfterAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 770 handleAcquiredBeforeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 780 checkLockFunAttrCommon(Sema &S, Decl *D, const ParsedAttr &AL, SmallVectorImpl<Expr *> &Args) argument 789 handleAssertSharedLockAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 800 handleAssertExclusiveLockAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 837 handleAllocSizeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 874 checkTryLockFunAttrCommon(Sema &S, Decl *D, const ParsedAttr &AL, SmallVectorImpl<Expr *> &Args) argument 891 handleSharedTrylockFunctionAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 901 handleExclusiveTrylockFunctionAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 911 handleLockReturnedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 922 handleLocksExcludedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 938 checkFunctionConditionAttr(Sema &S, Decl *D, const ParsedAttr &AL, Expr *&Cond, StringRef &Msg) argument 966 handleEnableIfAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 975 handleErrorAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1029 handleDiagnoseAsBuiltinAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1107 handleDiagnoseIfAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1133 handleNoBuiltinAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1164 << BuiltinName << AL; local 1183 handlePassObjectSizeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1215 handleConsumableAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1235 checkForConsumableClass(Sema &S, const CXXMethodDecl *MD, const ParsedAttr &AL) argument 1250 handleCallableWhenAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1285 handleParamTypestateAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1319 handleReturnTypestateAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1364 handleSetTypestateAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1386 handleTestTypestateAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1408 handleExtVectorTypeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1413 handlePackedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1441 handlePreferredName(Sema &S, Decl *D, const ParsedAttr &AL) argument 1478 checkIBOutletCommon(Sema &S, Decl *D, const ParsedAttr &AL) argument 1504 handleIBOutlet(Sema &S, Decl *D, const ParsedAttr &AL) argument 1511 handleIBOutletCollection(Sema &S, Decl *D, const ParsedAttr &AL) argument 1578 attrNonNullArgCheck(Sema &S, QualType T, const ParsedAttr &AL, SourceRange AttrParmRange, SourceRange TypeRange, bool isReturnValue = false) argument 1594 handleNonNullAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1637 handleNonNullAttrParameter(Sema &S, ParmVarDecl *D, const ParsedAttr &AL) argument 1657 handleReturnsNonNullAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1667 handleNoEscapeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1682 handleAssumeAlignedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1688 handleAllocAlignAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1797 handleAssumumptionAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1820 handleOwnershipAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1924 handleWeakRefAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1982 handleIFuncAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 1997 handleAliasAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2042 handleTLSModelAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2065 handleRestrictAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2076 handleCPUSpecificAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2148 handleCommonAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2158 handleCmseNSEntryAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2173 handleNakedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2240 CheckAttrTarget(const ParsedAttr &AL) argument 2254 handleAnalyzerNoReturnAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2275 handleVecReturnAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2329 handleDependencyAttr(Sema &S, Scope *Scope, Decl *D, const ParsedAttr &AL) argument 2344 handleUnusedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2355 handleConstructorAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2368 handleDestructorAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2378 handleAttrWithMessage(Sema &S, Decl *D, const ParsedAttr &AL) argument 2387 handleObjCSuppresProtocolAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2619 handleAvailabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2861 handleExternalSourceSymbolAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2908 handleVisibilityAttr(Sema &S, Decl *D, const ParsedAttr &AL, bool isTypeVisibility) argument 2956 handleObjCDirectAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2970 handleObjCDirectMembersAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 2979 handleObjCMethodFamilyAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3005 handleObjCNSObject(Sema &S, Decl *D, const ParsedAttr &AL) argument 3032 handleObjCIndependentClass(Sema &S, Decl *D, const ParsedAttr &AL) argument 3046 handleBlocksAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3063 handleSentinelAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3152 handleWarnUnusedResult(Sema &S, Decl *D, const ParsedAttr &AL) argument 3205 handleWeakImportAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3228 handleWorkGroupSize(Sema &S, Decl *D, const ParsedAttr &AL) argument 3253 handleSubGroupSize(Sema &S, Decl *D, const ParsedAttr &AL) argument 3273 handleVecTypeHint(Sema &S, Decl *D, const ParsedAttr &AL) argument 3350 handleSectionAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3372 handleCodeModelAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3420 handleCodeSegAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3525 handleTargetVersionAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3540 handleTargetAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3648 handleTargetClonesAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3715 handleMinVectorWidthAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3732 handleCleanupAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3787 handleEnumExtensibilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3809 handleFormatArgAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3880 handleInitPriorityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 3971 handleFormatAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4086 handleCallbackAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4232 handleCalledOnceAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4244 handleTransparentUnionAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4324 handleAnnotateAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4341 handleAlignValueAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4385 handleAlignedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4758 handleModeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4915 handleNoDebugAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 4934 mergeInternalLinkageAttr(Decl *D, const ParsedAttr &AL) argument 4956 mergeInternalLinkageAttr(Decl *D, const InternalLinkageAttr &AL) argument 5025 handleAlwaysInlineAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5031 handleMinSizeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5036 handleOptimizeNoneAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5041 handleConstantAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5057 handleSharedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5073 handleGlobalAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5109 handleDeviceAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5125 handleManagedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5138 handleGNUInlineAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5151 handleCallConvAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5243 handleSuppressAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5269 handleLifetimeCategoryAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5283 << SelectIdx << AL; local 5336 handleRandomizeLayoutAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5343 handleNoRandomizeLayoutAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5610 CheckRegparmAttr(const ParsedAttr &AL, unsigned &numParams) argument 5656 makeLaunchBoundsArgExpr(Sema &S, Expr *E, const CUDALaunchBoundsAttr &AL, const unsigned Idx) argument 5733 handleLaunchBoundsAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5742 handleArgumentWithTypeTagAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5774 handleTypeTagForDatatypeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5801 handleXRayLogArgsAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5814 handlePatchableFunctionEntryAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5889 handleArmBuiltinAliasAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5917 handleBuiltinAliasAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 5945 handlePreferredTypeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6018 parsedAttrToRetainOwnershipKind(const ParsedAttr &AL) argument 6061 handleXReturnsXRetainedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6270 handleObjCBridgeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6296 handleObjCBridgeMutableAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6309 handleObjCBridgeRelatedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6325 handleObjCDesignatedInitializer(Sema &S, Decl *D, const ParsedAttr &AL) argument 6351 handleObjCRuntimeName(Sema &S, Decl *D, const ParsedAttr &AL) argument 6363 handleObjCBoxable(Sema &S, Decl *D, const ParsedAttr &AL) argument 6385 handleObjCOwnershipAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6394 handleObjCPreciseLifetimeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6433 handleSwiftAttrAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 6443 handleSwiftBridge(Sema &S, Decl *D, const ParsedAttr &AL) argument 6483 handleSwiftError(Sema &S, Decl *D, const ParsedAttr &AL) argument 6638 handleSwiftAsyncError(Sema &S, Decl *D, const ParsedAttr &AL) argument 6685 validateSwiftFunctionName(Sema &S, const ParsedAttr &AL, SourceLocation Loc, StringRef Name, unsigned &SwiftParamCount, bool &IsSingleParamInit) argument 6868 DiagnoseSwiftName(Decl *D, StringRef Name, SourceLocation Loc, const ParsedAttr &AL, bool IsAsync) argument 6962 handleSwiftName(Sema &S, Decl *D, const ParsedAttr &AL) argument 6974 handleSwiftAsyncName(Sema &S, Decl *D, const ParsedAttr &AL) argument 6986 handleSwiftNewType(Sema &S, Decl *D, const ParsedAttr &AL) argument 7013 handleSwiftAsyncAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7087 handleUuidAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7147 handleHLSLNumThreadsAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7195 mergeHLSLNumThreadsAttr(Decl *D, const AttributeCommonInfo &AL, int X, int Y, int Z) argument 7216 handleHLSLSV_DispatchThreadIDAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7236 handleHLSLShaderAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7257 mergeHLSLShaderAttr(Decl *D, const AttributeCommonInfo &AL, HLSLShaderAttr::ShaderType ShaderType) argument 7269 handleHLSLResourceBindingAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7341 handleHLSLParamModifierAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7351 mergeHLSLParamModifierAttr(Decl *D, const AttributeCommonInfo &AL, HLSLParamModifierAttr::Spelling Spelling) argument 7371 handleMSInheritanceAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7385 handleDeclspecThreadAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7402 handleMSConstexprAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7424 handleAbiTagAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7455 handleARMInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7480 handleMSP430InterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7532 handleMipsInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7589 handleM68kInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7622 handleAnyX86InterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7687 handleAVRInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7700 handleAVRSignalAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7725 handleBPFPreserveAccessIndexAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7740 handleBTFDeclTagAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7750 mergeBTFDeclTagAttr(Decl *D, const BTFDeclTagAttr &AL) argument 7756 handleWebAssemblyExportNameAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7780 mergeImportModuleAttr(Decl *D, const WebAssemblyImportModuleAttr &AL) argument 7800 mergeImportNameAttr(Decl *D, const WebAssemblyImportNameAttr &AL) argument 7820 handleWebAssemblyImportModuleAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7837 handleWebAssemblyImportNameAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7852 handleRISCVInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7910 handleInterruptAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 7988 handleAMDGPUFlatWorkGroupSizeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8047 handleAMDGPUWavesPerEUAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8057 handleAMDGPUNumSGPRAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8066 handleAMDGPUNumVGPRAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8075 handleX86ForceAlignArgPointerAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8098 handleLayoutVersion(Sema &S, Decl *D, const ParsedAttr &AL) argument 8212 handleCapabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8230 handleAssertCapabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8239 handleAcquireCapabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8249 handleTryAcquireCapabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8259 handleReleaseCapabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8269 handleRequiresCapabilityAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8286 handleDeprecatedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8332 handleNoSanitizeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8359 handleNoSanitizeSpecificAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8390 handleInternalLinkageAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8395 handleOpenCLNoSVMAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8404 handleOpenCLAccessAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8451 handleZeroCallUsedRegsAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8469 handleCountedByAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8598 handleFunctionReturnThunksAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8618 handleAvailableOnlyInDefaultEvalMethod(Sema &S, Decl *D, const ParsedAttr &AL) argument 8624 handleNoMergeAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8634 handleNoUniqueAddressAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8638 handleSYCLKernelAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8690 handleUninitializedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8733 handleObjCExternallyRetainedAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8771 handleMIGServerRoutineAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8793 handleMSAllocatorAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8807 handleAcquireHandleAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8825 handleHandleAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8833 handleUnsafeBufferUsage(Sema &S, Decl *D, const ParsedAttr &AL) argument 8837 handleCFGuardAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8868 handleEnforceTCBAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 8893 mergeEnforceTCBAttrImpl(Sema &S, Decl *D, const AttrTy &AL) argument 8914 mergeEnforceTCBAttr(Decl *D, const EnforceTCBAttr &AL) argument 8919 mergeEnforceTCBLeafAttr( Decl *D, const EnforceTCBLeafAttr &AL) argument 8931 MustDelayAttributeArguments(const ParsedAttr &AL) argument 8960 checkArmNewAttrMutualExclusion( Sema &S, const ParsedAttr &AL, const FunctionProtoType *FPT, FunctionType::ArmStateValue CurrentState, StringRef StateName) argument 8983 handleArmNewAttr(Sema &S, Decl *D, const ParsedAttr &AL) argument 9040 ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, const ParsedAttr &AL, const Sema::ProcessDeclAttributeOptions &Options) argument [all...] |