H A D | SemaDeclAttr.cpp | 146 static unsigned getNumAttributeArgs(const AttributeList &Attr) { argument 148 return Attr.getNumArgs() + Attr.hasParsedType(); 153 static bool checkAttributeNumArgs(Sema &S, const AttributeList &Attr, argument 155 if (getNumAttributeArgs(Attr) != Num) { 156 S.Diag(Attr.getLoc(), diag::err_attribute_wrong_number_arguments) 157 << Attr.getName() << Num; 166 static bool checkAttributeAtLeastNumArgs(Sema &S, const AttributeList &Attr, argument 168 if (getNumAttributeArgs(Attr) < Num) { 169 S.Diag(Attr 179 checkUInt32Argument(Sema &S, const AttributeList &Attr, const Expr *Expr, uint32_t &Val, unsigned Idx = UINT_MAX) argument 202 checkAttrMutualExclusion(Sema &S, Decl *D, const AttributeList &Attr) argument 216 checkFunctionOrMethodParameterIndex(Sema &S, const Decl *D, const AttributeList &Attr, unsigned AttrArgNum, const Expr *IdxExpr, uint64_t &Idx) argument 264 checkStringLiteralArgumentAttr(const AttributeList &Attr, unsigned ArgNum, StringRef &Str, SourceLocation *ArgLocation) argument 299 handleSimpleAttribute(Sema &S, Decl *D, const AttributeList &Attr) argument 331 threadSafetyCheckIsPointer(Sema &S, const Decl *D, const AttributeList &Attr) argument 453 checkAttrArgsAreCapabilityObjs(Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl<Expr *> &Args, int Sidx = 0, bool ParamIdxOk = false) argument 535 handlePtGuardedVarAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 545 checkGuardedByAttrCommon(Sema &S, Decl *D, const AttributeList &Attr, Expr* &Arg) argument 560 handleGuardedByAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 569 handlePtGuardedByAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 583 checkAcquireOrderAttrCommon(Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl<Expr *> &Args) argument 608 handleAcquiredAfterAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 621 handleAcquiredBeforeAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 634 checkLockFunAttrCommon(Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl<Expr *> &Args) argument 644 handleAssertSharedLockAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 657 handleAssertExclusiveLockAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 672 checkTryLockFunAttrCommon(Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl<Expr *> &Args) argument 690 handleSharedTrylockFunctionAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 703 handleExclusiveTrylockFunctionAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 716 handleLockReturnedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 730 handleLocksExcludedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 748 handleEnableIfAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 776 handleConsumableAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 799 checkForConsumableClass(Sema &S, const CXXMethodDecl *MD, const AttributeList &Attr) argument 817 handleCallableWhenAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 850 handleParamTypestateAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 890 handleReturnTypestateAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 941 handleSetTypestateAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 968 handleTestTypestateAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 996 handleExtVectorTypeAttr(Sema &S, Scope *scope, Decl *D, const AttributeList &Attr) argument 1002 handlePackedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1022 checkIBOutletCommon(Sema &S, Decl *D, const AttributeList &Attr) argument 1048 handleIBOutlet(Sema &S, Decl *D, const AttributeList &Attr) argument 1057 handleIBOutletCollection(Sema &S, Decl *D, const AttributeList &Attr) argument 1118 attrNonNullArgCheck(Sema &S, QualType T, const AttributeList &Attr, SourceRange R, bool isReturnValue = false) argument 1133 handleNonNullAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1178 handleNonNullAttrParameter(Sema &S, ParmVarDecl *D, const AttributeList &Attr) argument 1199 handleReturnsNonNullAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1310 handleWeakRefAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1374 handleAliasAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1390 handleColdAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1398 handleHotAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1406 handleTLSModelAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1426 handleKernelAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1436 handleMallocAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1450 handleCommonAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1486 handleAnalyzerNoReturnAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1509 handleVecReturnAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1564 handleDependencyAttr(Sema &S, Scope *Scope, Decl *D, const AttributeList &Attr) argument 1581 handleUsedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1598 handleConstructorAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1616 handleDestructorAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1635 handleAttrWithMessage(Sema &S, Decl *D, const AttributeList &Attr) argument 1653 handleObjCSuppresProtocolAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1848 handleAvailabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 1916 handleVisibilityAttr(Sema &S, Decl *D, const AttributeList &Attr, bool isTypeVisibility) argument 1969 handleObjCMethodFamilyAttr(Sema &S, Decl *decl, const AttributeList &Attr) argument 1999 handleObjCNSObject(Sema &S, Decl *D, const AttributeList &Attr) argument 2028 handleBlocksAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2048 handleSentinelAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2146 handleWarnUnusedResult(Sema &S, Decl *D, const AttributeList &Attr) argument 2165 handleWeakImportAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2190 handleWorkGroupSize(Sema &S, Decl *D, const AttributeList &Attr) argument 2215 handleVecTypeHint(Sema &S, Decl *D, const AttributeList &Attr) argument 2260 handleSectionAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2283 handleCleanupAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2348 handleFormatArgAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2420 handleInitPriorityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2482 handleFormatAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2605 handleTransparentUnionAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2674 handleAnnotateAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2692 handleAlignedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 2884 handleModeAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3001 handleNoDebugAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3019 handleAlwaysInlineAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3029 handleOptimizeNoneAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3039 handleGlobalAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3055 handleGNUInlineAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3067 handleCallConvAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3219 CheckRegparmAttr(const AttributeList &Attr, unsigned &numParams) argument 3253 handleLaunchBoundsAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3277 handleArgumentWithTypeTagAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3322 handleTypeTagForDatatypeAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3372 handleNSConsumedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3400 handleNSReturnsRetainedAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3531 handleCFAuditedTransferAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3541 handleCFUnknownTransferAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3551 handleObjCBridgeAttr(Sema &S, Scope *Sc, Decl *D, const AttributeList &Attr) argument 3565 handleObjCBridgeMutableAttr(Sema &S, Scope *Sc, Decl *D, const AttributeList &Attr) argument 3579 handleObjCBridgeRelatedAttr(Sema &S, Scope *Sc, Decl *D, const AttributeList &Attr) argument 3597 handleObjCDesignatedInitializer(Sema &S, Decl *D, const AttributeList &Attr) argument 3610 handleObjCOwnershipAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3618 handleObjCPreciseLifetimeAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3663 handleUuidAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3708 handleMSInheritanceAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3722 handleDeclspecThreadAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3741 handleARMInterruptAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3770 handleMSP430InterruptAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3806 handleInterruptAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3814 handleX86ForceAlignArgPointerAttr(Sema &S, Decl *D, const AttributeList& Attr) argument 3917 handleCapabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3941 handleAssertCapabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3948 handleAcquireCapabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3960 handleTryAcquireCapabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3974 handleReleaseCapabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 3985 handleRequiresCapabilityAttr(Sema &S, Decl *D, const AttributeList &Attr) argument 4006 handleCommonAttributeFeatures(Sema &S, Scope *scope, Decl *D, const AttributeList &Attr) argument 4042 ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D, const AttributeList &Attr, bool IncludeCXX11Attributes) argument [all...] |