clang
3.9.0
|
#include "clang/Sema/SemaInternal.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/DelayedDiagnostic.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/Scope.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/MathExtras.h"
Go to the source code of this file.
Namespaces | |
AttributeLangSupport | |
Functions | |
static bool | isFunctionOrMethod (const Decl *D) |
isFunctionOrMethod - Return true if the given decl has function type (function or function-typed variable) or an Objective-C method. More... | |
static bool | isFunctionOrMethodOrBlock (const Decl *D) |
Return true if the given decl has function type (function or function-typed variable) or an Objective-C method or a block. More... | |
static bool | hasDeclarator (const Decl *D) |
Return true if the given decl has a declarator that should have been processed by Sema::GetTypeForDeclarator. More... | |
static bool | hasFunctionProto (const Decl *D) |
hasFunctionProto - Return true if the given decl has a argument information. More... | |
static unsigned | getFunctionOrMethodNumParams (const Decl *D) |
getFunctionOrMethodNumParams - Return number of function or method parameters. More... | |
static QualType | getFunctionOrMethodParamType (const Decl *D, unsigned Idx) |
static SourceRange | getFunctionOrMethodParamRange (const Decl *D, unsigned Idx) |
static QualType | getFunctionOrMethodResultType (const Decl *D) |
static SourceRange | getFunctionOrMethodResultSourceRange (const Decl *D) |
static bool | isFunctionOrMethodVariadic (const Decl *D) |
static bool | isInstanceMethod (const Decl *D) |
static bool | isNSStringType (QualType T, ASTContext &Ctx) |
static bool | isCFStringType (QualType T, ASTContext &Ctx) |
static unsigned | getNumAttributeArgs (const AttributeList &Attr) |
template<typename Compare > | |
static bool | checkAttributeNumArgsImpl (Sema &S, const AttributeList &Attr, unsigned Num, unsigned Diag, Compare Comp) |
static bool | checkAttributeNumArgs (Sema &S, const AttributeList &Attr, unsigned Num) |
Check if the attribute has exactly as many args as Num. More... | |
static bool | checkAttributeAtLeastNumArgs (Sema &S, const AttributeList &Attr, unsigned Num) |
Check if the attribute has at least as many args as Num. More... | |
static bool | checkAttributeAtMostNumArgs (Sema &S, const AttributeList &Attr, unsigned Num) |
Check if the attribute has at most as many args as Num. More... | |
static bool | checkUInt32Argument (Sema &S, const AttributeList &Attr, const Expr *Expr, uint32_t &Val, unsigned Idx=UINT_MAX) |
If Expr is a valid integer constant, get the value of the integer expression and return success or failure. More... | |
template<typename AttrTy > | |
static bool | checkAttrMutualExclusion (Sema &S, Decl *D, SourceRange Range, IdentifierInfo *Ident) |
Diagnose mutually exclusive attributes when present on a given declaration. More... | |
static bool | checkFunctionOrMethodParameterIndex (Sema &S, const Decl *D, const AttributeList &Attr, unsigned AttrArgNum, const Expr *IdxExpr, uint64_t &Idx) |
Check if IdxExpr is a valid parameter index for a function or instance method D. More... | |
template<typename AttrType > | |
static void | handleSimpleAttribute (Sema &S, Decl *D, const AttributeList &Attr) |
Applies the given attribute to the Decl without performing any additional semantic checking. More... | |
template<typename AttrType > | |
static void | handleSimpleAttributeWithExclusions (Sema &S, Decl *D, const AttributeList &Attr) |
template<typename AttrType , typename IncompatibleAttrType , typename... IncompatibleAttrTypes> | |
static void | handleSimpleAttributeWithExclusions (Sema &S, Decl *D, const AttributeList &Attr) |
Applies the given attribute to the Decl so long as the Decl doesn't already have one of the given incompatible attributes. More... | |
static bool | isIntOrBool (Expr *Exp) |
Check if the passed-in expression is of type int or bool. More... | |
static bool | threadSafetyCheckIsSmartPointer (Sema &S, const RecordType *RT) |
static bool | threadSafetyCheckIsPointer (Sema &S, const Decl *D, const AttributeList &Attr) |
Check if passed in Decl is a pointer type. More... | |
static const RecordType * | getRecordType (QualType QT) |
Checks that the passed in QualType either is of RecordType or points to RecordType. More... | |
static bool | checkRecordTypeForCapability (Sema &S, QualType Ty) |
static bool | checkTypedefTypeForCapability (QualType Ty) |
static bool | typeHasCapability (Sema &S, QualType Ty) |
static bool | isCapabilityExpr (Sema &S, const Expr *Ex) |
static void | checkAttrArgsAreCapabilityObjs (Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl< Expr * > &Args, int Sidx=0, bool ParamIdxOk=false) |
Checks that all attribute arguments, starting from Sidx, resolve to a capability object. More... | |
static void | handlePtGuardedVarAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkGuardedByAttrCommon (Sema &S, Decl *D, const AttributeList &Attr, Expr *&Arg) |
static void | handleGuardedByAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handlePtGuardedByAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkAcquireOrderAttrCommon (Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl< Expr * > &Args) |
static void | handleAcquiredAfterAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAcquiredBeforeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkLockFunAttrCommon (Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl< Expr * > &Args) |
static void | handleAssertSharedLockAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAssertExclusiveLockAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkTryLockFunAttrCommon (Sema &S, Decl *D, const AttributeList &Attr, SmallVectorImpl< Expr * > &Args) |
static void | handleSharedTrylockFunctionAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleExclusiveTrylockFunctionAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleLockReturnedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleLocksExcludedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleEnableIfAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handlePassObjectSizeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleConsumableAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkForConsumableClass (Sema &S, const CXXMethodDecl *MD, const AttributeList &Attr) |
static void | handleCallableWhenAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleParamTypestateAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleReturnTypestateAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleSetTypestateAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleTestTypestateAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleExtVectorTypeAttr (Sema &S, Scope *scope, Decl *D, const AttributeList &Attr) |
static void | handlePackedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkIBOutletCommon (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleIBOutlet (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleIBOutletCollection (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | attrNonNullArgCheck (Sema &S, QualType T, const AttributeList &Attr, SourceRange AttrParmRange, SourceRange TypeRange, bool isReturnValue=false) |
static void | handleNonNullAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleNonNullAttrParameter (Sema &S, ParmVarDecl *D, const AttributeList &Attr) |
static void | handleReturnsNonNullAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAssumeAlignedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | normalizeName (StringRef &AttrName) |
Normalize the attribute, foo becomes foo. More... | |
static void | handleOwnershipAttr (Sema &S, Decl *D, const AttributeList &AL) |
static void | handleWeakRefAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleIFuncAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAliasAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleColdAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleHotAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleTLSModelAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleRestrictAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleCommonAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleNakedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleNoReturnAttr (Sema &S, Decl *D, const AttributeList &attr) |
static void | handleAnalyzerNoReturnAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleVecReturnAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleDependencyAttr (Sema &S, Scope *Scope, Decl *D, const AttributeList &Attr) |
static void | handleNotTailCalledAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleDisableTailCallsAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleUsedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleUnusedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleConstructorAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleDestructorAttr (Sema &S, Decl *D, const AttributeList &Attr) |
template<typename AttrTy > | |
static void | handleAttrWithMessage (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCSuppresProtocolAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | checkAvailabilityAttr (Sema &S, SourceRange Range, IdentifierInfo *Platform, VersionTuple Introduced, VersionTuple Deprecated, VersionTuple Obsoleted) |
static bool | versionsMatch (const VersionTuple &X, const VersionTuple &Y, bool BeforeIsOkay) |
Check whether the two versions match. More... | |
static void | handleAvailabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
template<class T > | |
static T * | mergeVisibilityAttr (Sema &S, Decl *D, SourceRange range, typename T::VisibilityType value, unsigned attrSpellingListIndex) |
static void | handleVisibilityAttr (Sema &S, Decl *D, const AttributeList &Attr, bool isTypeVisibility) |
static void | handleObjCMethodFamilyAttr (Sema &S, Decl *decl, const AttributeList &Attr) |
static void | handleObjCNSObject (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCIndependentClass (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleBlocksAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleSentinelAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleWarnUnusedResult (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleWeakImportAttr (Sema &S, Decl *D, const AttributeList &Attr) |
template<typename WorkGroupAttr > | |
static void | handleWorkGroupSize (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleVecTypeHint (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleSectionAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleTargetAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleCleanupAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleFormatArgAttr (Sema &S, Decl *D, const AttributeList &Attr) |
Handle attribute((format_arg((idx)))) attribute based on http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html. More... | |
static FormatAttrKind | getFormatAttrKind (StringRef Format) |
getFormatAttrKind - Map from format attribute names to supported format types. More... | |
static void | handleInitPriorityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
Handle attribute((init_priority(priority))) attributes based on http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html. More... | |
static void | handleFormatAttr (Sema &S, Decl *D, const AttributeList &Attr) |
Handle attribute((format(type,idx,firstarg))) attributes based on http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html. More... | |
static void | handleTransparentUnionAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAnnotateAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAlignValueAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAlignedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | parseModeAttrArg (Sema &S, StringRef Str, unsigned &DestWidth, bool &IntegerMode, bool &ComplexMode) |
parseModeAttrArg - Parses attribute mode string and returns parsed type attribute. More... | |
static void | handleModeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
handleModeAttr - This attribute modifies the width of a decl with primitive type. More... | |
static void | handleNoDebugAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAlwaysInlineAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleMinSizeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleOptimizeNoneAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleGlobalAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleGNUInlineAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleCallConvAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | isValidSwiftContextType (QualType type) |
Pointer-like types in the default address space. More... | |
static bool | isValidSwiftIndirectResultType (QualType type) |
Pointers and references in the default address space. More... | |
static bool | isValidSwiftErrorResultType (QualType type) |
Pointers and references to pointers in the default address space. More... | |
static void | handleParameterABIAttr (Sema &S, Decl *D, const AttributeList &attr, ParameterABI abi) |
static Expr * | makeLaunchBoundsArgExpr (Sema &S, Expr *E, const CUDALaunchBoundsAttr &Attr, const unsigned Idx) |
static void | handleLaunchBoundsAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleArgumentWithTypeTagAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleTypeTagForDatatypeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | isValidSubjectOfNSReturnsRetainedAttribute (QualType type) |
static bool | isValidSubjectOfNSAttribute (Sema &S, QualType type) |
static bool | isValidSubjectOfCFAttribute (Sema &S, QualType type) |
static void | handleNSConsumedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleNSReturnsRetainedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCReturnsInnerPointerAttr (Sema &S, Decl *D, const AttributeList &attr) |
static void | handleObjCRequiresSuperAttr (Sema &S, Decl *D, const AttributeList &attr) |
static void | handleCFAuditedTransferAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleCFUnknownTransferAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCBridgeAttr (Sema &S, Scope *Sc, Decl *D, const AttributeList &Attr) |
static void | handleObjCBridgeMutableAttr (Sema &S, Scope *Sc, Decl *D, const AttributeList &Attr) |
static void | handleObjCBridgeRelatedAttr (Sema &S, Scope *Sc, Decl *D, const AttributeList &Attr) |
static void | handleObjCDesignatedInitializer (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCRuntimeName (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCBoxable (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCOwnershipAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleObjCPreciseLifetimeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleUuidAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleMSInheritanceAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleDeclspecThreadAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAbiTagAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleARMInterruptAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleMSP430InterruptAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleMipsInterruptAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAnyX86InterruptAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleInterruptAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAMDGPUNumVGPRAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAMDGPUNumSGPRAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleX86ForceAlignArgPointerAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleLayoutVersion (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleDLLAttr (Sema &S, Decl *D, const AttributeList &A) |
static void | handleCapabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAssertCapabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleAcquireCapabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleTryAcquireCapabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleReleaseCapabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleRequiresCapabilityAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleDeprecatedAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleNoSanitizeAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleNoSanitizeSpecificAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleInternalLinkageAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | handleOpenCLNoSVMAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static bool | handleCommonAttributeFeatures (Sema &S, Scope *scope, Decl *D, const AttributeList &Attr) |
Handles semantic checking for features that are common to all attributes, such as checking whether a parameter was properly specified, or the correct number of arguments were passed, etc. More... | |
static void | handleOpenCLAccessAttr (Sema &S, Decl *D, const AttributeList &Attr) |
static void | ProcessDeclAttribute (Sema &S, Scope *scope, Decl *D, const AttributeList &Attr, bool IncludeCXX11Attributes) |
ProcessDeclAttribute - Apply the specific attribute to the specified decl if the attribute applies to decls. More... | |
static void | checkUnusedDeclAttributes (Sema &S, const AttributeList *A) |
checkUnusedDeclAttributes - Check a list of attributes to see if it contains any decl attributes that we should warn about. More... | |
static bool | isForbiddenTypeAllowed (Sema &S, Decl *decl, const DelayedDiagnostic &diag, UnavailableAttr::ImplicitReason &reason) |
Is the given declaration allowed to use a forbidden type? If so, it'll still be annotated with an attribute that makes it illegal to actually use. More... | |
static void | handleDelayedForbiddenType (Sema &S, DelayedDiagnostic &diag, Decl *decl) |
Handle a delayed forbidden-type diagnostic. More... | |
static bool | isDeclDeprecated (Decl *D) |
static bool | isDeclUnavailable (Decl *D) |
static const AvailabilityAttr * | getAttrForPlatform (ASTContext &Context, const Decl *D) |
static void | DoEmitAvailabilityWarning (Sema &S, Sema::AvailabilityDiagnostic K, Decl *Ctx, const NamedDecl *D, StringRef Message, SourceLocation Loc, const ObjCInterfaceDecl *UnknownObjCClass, const ObjCPropertyDecl *ObjCProperty, bool ObjCPropertyAccess) |
static void | handleDelayedAvailabilityCheck (Sema &S, DelayedDiagnostic &DD, Decl *Ctx) |
enum FormatAttrKind |
Enumerator | |
---|---|
CFStringFormat | |
NSStringFormat | |
StrftimeFormat | |
SupportedFormat | |
IgnoredFormat | |
InvalidFormat |
Definition at line 2793 of file SemaDeclAttr.cpp.
|
static |
Definition at line 1214 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and clang::Sema::isValidPointerAttrType().
Referenced by handleNonNullAttr(), handleNonNullAttrParameter(), and handleReturnsNonNullAttr().
|
static |
Definition at line 647 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Diag(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::Type::isDependentType(), and typeHasCapability().
Referenced by handleAcquiredAfterAttr(), and handleAcquiredBeforeAttr().
|
static |
Checks that all attribute arguments, starting from Sidx, resolve to a capability object.
Sidx | The attribute argument index to start checking with. |
ParamIdxOk | Whether an argument can be indexing into a function parameter list. |
Definition at line 521 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), getRecordType(), clang::Expr::getType(), clang::ValueDecl::getType(), isCapabilityExpr(), clang::Expr::isTypeDependent(), and typeHasCapability().
Referenced by checkAcquireOrderAttrCommon(), checkGuardedByAttrCommon(), checkLockFunAttrCommon(), checkTryLockFunAttrCommon(), handleLockReturnedAttr(), handleLocksExcludedAttr(), handleReleaseCapabilityAttr(), and handleRequiresCapabilityAttr().
|
static |
Check if the attribute has at least as many args as Num.
May output an error.
Definition at line 203 of file SemaDeclAttr.cpp.
References checkAttributeNumArgsImpl().
Referenced by checkAcquireOrderAttrCommon(), checkTryLockFunAttrCommon(), handleAbiTagAttr(), handleCallableWhenAttr(), handleCommonAttributeFeatures(), handleLaunchBoundsAttr(), handleLocksExcludedAttr(), handleNoSanitizeAttr(), and handleRequiresCapabilityAttr().
|
static |
Check if the attribute has at most as many args as Num.
May output an error.
Definition at line 212 of file SemaDeclAttr.cpp.
References checkAttributeNumArgsImpl().
Referenced by handleCommonAttributeFeatures(), handleDeprecatedAttr(), and handleLaunchBoundsAttr().
|
static |
Check if the attribute has exactly as many args as Num.
May output an error.
Definition at line 194 of file SemaDeclAttr.cpp.
References checkAttributeNumArgsImpl().
Referenced by clang::Sema::CheckCallingConvAttr(), clang::Sema::CheckNoReturnAttr(), clang::Sema::CheckRegparmAttr(), handleArgumentWithTypeTagAttr(), handleAvailabilityAttr(), handleCommonAttributeFeatures(), handleMSP430InterruptAttr(), and handleTypeTagForDatatypeAttr().
|
static |
Definition at line 181 of file SemaDeclAttr.cpp.
References Diag(), clang::Sema::Diag(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and getNumAttributeArgs().
Referenced by checkAttributeAtLeastNumArgs(), checkAttributeAtMostNumArgs(), and checkAttributeNumArgs().
|
static |
Diagnose mutually exclusive attributes when present on a given declaration.
Returns true if diagnosed.
Definition at line 251 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), and clang::SourceRange::getBegin().
|
static |
Definition at line 1902 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::VersionTuple::empty(), clang::VersionTuple::getAsString(), clang::SourceRange::getBegin(), and clang::IdentifierInfo::getName().
Referenced by clang::Sema::mergeAvailabilityAttr().
|
static |
Definition at line 896 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::Type::getAsCXXRecordDecl(), clang::Sema::getASTContext(), clang::AttributeList::getLoc(), clang::Type::getPointeeType(), and clang::CXXMethodDecl::getThisType().
Referenced by handleCallableWhenAttr(), handleSetTypestateAttr(), and handleTestTypestateAttr().
|
static |
Check if IdxExpr is a valid parameter index for a function or instance method D.
May output an error.
Definition at line 266 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Sema::Context, clang::Sema::Diag(), getFunctionOrMethodNumParams(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), hasFunctionProto(), isFunctionOrMethodOrBlock(), isFunctionOrMethodVariadic(), isInstanceMethod(), clang::Expr::isIntegerConstantExpr(), clang::Expr::isTypeDependent(), and clang::Expr::isValueDependent().
Referenced by handleArgumentWithTypeTagAttr(), handleFormatArgAttr(), handleNonNullAttr(), and handleOwnershipAttr().
|
static |
Definition at line 609 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs().
Referenced by handleGuardedByAttr(), and handlePtGuardedByAttr().
|
static |
Definition at line 1108 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::AttributeList::getLoc(), and clang::AttributeList::getName().
Referenced by handleIBOutlet(), and handleIBOutletCollection().
|
static |
Definition at line 695 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs().
Referenced by handleAcquireCapabilityAttr(), handleAssertExclusiveLockAttr(), and handleAssertSharedLockAttr().
Definition at line 436 of file SemaDeclAttr.cpp.
References clang::Type::getAs(), clang::RecordType::getDecl(), getRecordType(), clang::CXXBaseSpecifier::getType(), clang::Type::isIncompleteType(), and threadSafetyCheckIsSmartPointer().
Referenced by typeHasCapability().
|
static |
Definition at line 733 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntOrBool, checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and isIntOrBool().
Referenced by handleExclusiveTrylockFunctionAttr(), handleSharedTrylockFunctionAttr(), and handleTryAcquireCapabilityAttr().
Definition at line 468 of file SemaDeclAttr.cpp.
References clang::Type::getAs().
Referenced by typeHasCapability().
|
static |
If Expr is a valid integer constant, get the value of the integer expression and return success or failure.
May output an error.
Definition at line 221 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Sema::Context, clang::Sema::Diag(), clang::Expr::getExprLoc(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), I, clang::Expr::isIntegerConstantExpr(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), and UINT_MAX.
Referenced by clang::Sema::CheckRegparmAttr(), handleAMDGPUNumSGPRAttr(), handleAMDGPUNumVGPRAttr(), handleConstructorAttr(), handleDestructorAttr(), handleFormatAttr(), handleInitPriorityAttr(), handleLayoutVersion(), handlePassObjectSizeAttr(), and handleWorkGroupSize().
|
static |
checkUnusedDeclAttributes - Check a list of attributes to see if it contains any decl attributes that we should warn about.
Definition at line 5988 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::AttributeList::getKind(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNext(), clang::AttributeList::getRange(), clang::AttributeList::IgnoredAttribute, clang::AttributeList::isInvalid(), clang::AttributeList::isUsedAsTypeAttr(), and clang::AttributeList::UnknownAttribute.
|
static |
Definition at line 6249 of file SemaDeclAttr.cpp.
References clang::Sema::AD_Deprecation, clang::Sema::AD_Partial, clang::Sema::AD_Unavailable, clang::Sema::Context, clang::FixItHint::CreateReplacement(), clang::Sema::Diag(), getAttrForPlatform(), clang::CharSourceRange::getCharRange(), clang::NamedDecl::getDeclName(), clang::Sema::getLangOpts(), clang::Sema::getLocForEndOfToken(), clang::NamedDecl::getMostRecentDecl(), clang::Sema::getSourceManager(), isDeclDeprecated(), isDeclUnavailable(), clang::SourceManager::isInSystemHeader(), clang::CharSourceRange::isValid(), and Replacement.
Referenced by clang::Sema::EmitAvailabilityWarning(), and handleDelayedAvailabilityCheck().
|
static |
Definition at line 6221 of file SemaDeclAttr.cpp.
References clang::ASTContext::getLangOpts(), clang::TargetInfo::getPlatformName(), and clang::ASTContext::getTargetInfo().
Referenced by DoEmitAvailabilityWarning().
|
static |
getFormatAttrKind - Map from format attribute names to supported format types.
Definition at line 2804 of file SemaDeclAttr.cpp.
References CFStringFormat, IgnoredFormat, InvalidFormat, NSStringFormat, StrftimeFormat, and SupportedFormat.
Referenced by handleFormatAttr().
getFunctionOrMethodNumParams - Return number of function or method parameters.
It is an error to call this on a K&R function (use hasFunctionProto first).
Definition at line 85 of file SemaDeclAttr.cpp.
Referenced by checkFunctionOrMethodParameterIndex(), handleAnyX86InterruptAttr(), handleFormatAttr(), handleMipsInterruptAttr(), and handleNonNullAttr().
|
static |
Definition at line 102 of file SemaDeclAttr.cpp.
Referenced by handleAnyX86InterruptAttr(), handleFormatArgAttr(), handleFormatAttr(), and handleNonNullAttr().
Definition at line 93 of file SemaDeclAttr.cpp.
Referenced by handleAnyX86InterruptAttr(), handleArgumentWithTypeTagAttr(), handleFormatArgAttr(), handleFormatAttr(), handleNonNullAttr(), and handleOwnershipAttr().
|
static |
Definition at line 118 of file SemaDeclAttr.cpp.
Referenced by clang::Sema::AddAssumeAlignedAttr(), handleAnyX86InterruptAttr(), handleRestrictAttr(), and handleReturnsNonNullAttr().
Definition at line 112 of file SemaDeclAttr.cpp.
Referenced by clang::Sema::AddAssumeAlignedAttr(), handleAnyX86InterruptAttr(), handleFormatArgAttr(), handleMipsInterruptAttr(), handleRestrictAttr(), and handleReturnsNonNullAttr().
|
static |
Definition at line 175 of file SemaDeclAttr.cpp.
References clang::AttributeList::getNumArgs(), and clang::AttributeList::hasParsedType().
Referenced by checkAttributeNumArgsImpl().
|
static |
Checks that the passed in QualType either is of RecordType or points to RecordType.
Returns the relevant RecordType, null if it does not exit.
Definition at line 425 of file SemaDeclAttr.cpp.
References clang::Type::getAs(), and clang::Type::getPointeeType().
Referenced by checkAttrArgsAreCapabilityObjs(), checkRecordTypeForCapability(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), and clang::CodeGen::CodeGenFunction::EmitLambdaDelegatingInvokeBody().
|
static |
Definition at line 4686 of file SemaDeclAttr.cpp.
References checkAttributeAtLeastNumArgs(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), and I.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5124 of file SemaDeclAttr.cpp.
References checkLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 669 of file SemaDeclAttr.cpp.
References checkAcquireOrderAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 682 of file SemaDeclAttr.cpp.
References checkAcquireOrderAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1574 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), and clang::TargetInfo::getTriple().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3146 of file SemaDeclAttr.cpp.
References clang::Sema::AddAlignedAttr(), clang::Expr::containsUnexpandedParameterPack(), clang::Sema::Context, clang::Sema::Diag(), clang::Sema::DiagnoseUnexpandedParameterPack(), E, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getEllipsisLoc(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::AttributeList::isPackExpansion(), and clang::Expr::isValueDependent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3095 of file SemaDeclAttr.cpp.
References clang::Sema::AddAlignValueAttr(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3673 of file SemaDeclAttr.cpp.
References clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::Sema::mergeAlwaysInlineAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4941 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getLoc().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4928 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getLoc().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1701 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionMethodOrBlock, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ValueDecl::getType(), clang::Type::isBlockPointerType(), clang::AttributeList::isCXX11Attribute(), isFunctionOrMethodOrBlock(), and clang::Type::isFunctionPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3077 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and I.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4842 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionWithProtoType, clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodNumParams(), getFunctionOrMethodParamRange(), getFunctionOrMethodParamType(), getFunctionOrMethodResultSourceRange(), getFunctionOrMethodResultType(), clang::ASTContext::getIntTypeForBitwidth(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::ASTContext::getTypeSize(), hasFunctionProto(), isFunctionOrMethod(), isInstanceMethod(), clang::Type::isPointerType(), and clang::CXXMethodDecl::isStaticOverloadedOperator().
Referenced by handleInterruptAttr().
|
static |
Definition at line 4113 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, checkAttributeNumArgs(), checkFunctionOrMethodParameterIndex(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionOrMethod, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodParamType(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), hasFunctionProto(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), isFunctionOrMethod(), and clang::Type::isPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4718 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and clang::AttributeList::getNumArgs().
Referenced by handleInterruptAttr().
|
static |
Definition at line 5117 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 718 of file SemaDeclAttr.cpp.
References checkLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 705 of file SemaDeclAttr.cpp.
References checkLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1309 of file SemaDeclAttr.cpp.
References clang::Sema::AddAssumeAlignedAttr(), E, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1878 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
|
static |
Definition at line 2123 of file SemaDeclAttr.cpp.
References clang::Sema::AMK_None, checkAttributeNumArgs(), clang::Sema::Context, clang::Sema::Diag(), clang::IdentifierTable::get(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getAvailabilityDeprecated(), clang::AttributeList::getAvailabilityIntroduced(), clang::AttributeList::getAvailabilityObsoleted(), clang::AttributeList::getLoc(), clang::VersionTuple::getMajor(), clang::AttributeList::getMessageExpr(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::AttributeList::getReplacementExpr(), clang::AttributeList::getStrictLoc(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::AttributeList::getUnavailableLoc(), clang::IdentifierLoc::Ident, clang::ASTContext::Idents, clang::SourceLocation::isValid(), clang::IdentifierLoc::Loc, clang::Sema::mergeAvailabilityAttr(), Replacement, and clang::AvailabilityChange::Version.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2400 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::ast_matchers::type.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 913 of file SemaDeclAttr.cpp.
References checkAttributeAtLeastNumArgs(), checkForConsumableClass(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::IdentifierLoc::Loc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3743 of file SemaDeclAttr.cpp.
References clang::CC_AAPCS, clang::CC_AAPCS_VFP, clang::Sema::CheckCallingConvAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionOrMethod, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getKind(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and hasDeclarator().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5093 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getKind(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4413 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4424 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2687 of file SemaDeclAttr.cpp.
References clang::Sema::CheckAssignmentConstraints(), clang::Sema::Compatible, clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Expr::getExprLoc(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::DeclarationNameInfo::getName(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::ASTContext::getPointerType(), clang::AttributeList::getRange(), clang::ValueDecl::getType(), clang::VarDecl::hasLocalStorage(), clang::Sema::NoteAllOverloadCandidates(), clang::ASTContext::OverloadTy, and clang::Sema::ResolveSingleFunctionTemplateSpecialization().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1607 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1655 of file SemaDeclAttr.cpp.
References AttributeLangSupport::Cpp, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::Sema::LangOpts, and clang::Sema::mergeCommonAttr().
Referenced by ProcessDeclAttribute().
|
static |
Handles semantic checking for features that are common to all attributes, such as checking whether a parameter was properly specified, or the correct number of arguments were passed, etc.
Definition at line 5272 of file SemaDeclAttr.cpp.
References checkAttributeAtLeastNumArgs(), checkAttributeAtMostNumArgs(), checkAttributeNumArgs(), clang::AttributeList::diagnoseAppertainsTo(), clang::AttributeList::diagnoseLangOpts(), clang::AttributeList::getKind(), clang::AttributeList::getMaxArgs(), clang::AttributeList::getMinArgs(), clang::AttributeList::hasCustomParsing(), clang::AttributeList::hasVariadicArg(), and clang::AttributeList::UnknownAttribute.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1855 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 874 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::IdentifierLoc::Loc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4667 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), clang::VarDecl::getTSCSpec(), clang::VarDecl::hasLocalStorage(), clang::TargetInfo::isTLSSupported(), and clang::TSCS_unspecified.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 6400 of file SemaDeclAttr.cpp.
References clang::Sema::AD_Deprecation, clang::Sema::AD_Unavailable, clang::sema::DelayedDiagnostic::Deprecation, DoEmitAvailabilityWarning(), clang::sema::DelayedDiagnostic::getDeprecationDecl(), clang::sema::DelayedDiagnostic::getDeprecationMessage(), clang::sema::DelayedDiagnostic::getObjCProperty(), clang::sema::DelayedDiagnostic::getUnknownObjCClass(), clang::sema::DelayedDiagnostic::Kind, clang::sema::DelayedDiagnostic::Loc, clang::sema::DelayedDiagnostic::Triggered, and clang::sema::DelayedDiagnostic::Unavailable.
Referenced by clang::Sema::PopParsingDeclaration().
|
static |
Handle a delayed forbidden-type diagnostic.
Definition at line 6171 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::sema::DelayedDiagnostic::getForbiddenTypeArgument(), clang::sema::DelayedDiagnostic::getForbiddenTypeDiagnostic(), clang::sema::DelayedDiagnostic::getForbiddenTypeOperand(), clang::Sema::getLangOpts(), isForbiddenTypeAllowed(), clang::sema::DelayedDiagnostic::Loc, and clang::sema::DelayedDiagnostic::Triggered.
Referenced by clang::Sema::PopParsingDeclaration().
|
static |
Definition at line 1779 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::Scope::FunctionDeclarationScope, clang::AttributeList::getAttributeSpellingListIndex(), clang::Scope::getFlags(), clang::AttributeList::getLoc(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5179 of file SemaDeclAttr.cpp.
References checkAttributeAtMostNumArgs(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Sema::getLangOpts(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::AttributeList::getScopeName(), clang::AttributeList::hasScope(), clang::AttributeList::isArgExpr(), clang::AttributeList::isCXX11Attribute(), clang::AttributeList::isDeclspecAttribute(), clang::IdentifierInfo::isStr(), and Replacement.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1866 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1806 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5023 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::SourceRange::getBegin(), clang::TargetInfo::getCXXABI(), clang::AttributeList::getKind(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), clang::TargetCXXABI::isMicrosoft(), clang::Sema::mergeDLLExportAttr(), and clang::Sema::mergeDLLImportAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 807 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), I, clang::ActionResult< PtrTy, CompressInvalid >::isInvalid(), clang::Expr::isPotentialConstantExprUnevaluated(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), and clang::Sema::PerformContextuallyConvertToBool().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 764 of file SemaDeclAttr.cpp.
References checkTryLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1085 of file SemaDeclAttr.cpp.
References clang::Sema::ExtVectorDecls, and clang::LazyVector< T, Source, Loader, LoadedStorage, LocalStorage >::push_back().
Referenced by ProcessDeclAttribute().
|
static |
Handle attribute((format_arg((idx)))) attribute based on http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html.
Definition at line 2752 of file SemaDeclAttr.cpp.
References checkFunctionOrMethodParameterIndex(), clang::Sema::Context, clang::Sema::Diag(), clang::Expr::EvaluateAsInt(), clang::AttributeList::getArgAsExpr(), clang::Type::getAs(), clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodParamRange(), getFunctionOrMethodParamType(), getFunctionOrMethodResultType(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), isCFStringType(), clang::Type::isCharType(), isNSStringType(), and clang::Type::isPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Handle attribute((format(type,idx,firstarg))) attributes based on http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html.
Definition at line 2886 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, CFStringFormat, checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), clang::IdentifierTable::get(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getArgAsIdent(), clang::Type::getAs(), clang::AttributeList::getAttributeSpellingListIndex(), getFormatAttrKind(), getFunctionOrMethodNumParams(), getFunctionOrMethodParamRange(), getFunctionOrMethodParamType(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::ASTContext::Idents, IgnoredFormat, InvalidFormat, clang::AttributeList::isArgIdent(), isCFStringType(), clang::Type::isCharType(), isFunctionOrMethodVariadic(), isInstanceMethod(), isNSStringType(), clang::Type::isPointerType(), clang::Sema::mergeFormatAttr(), normalizeName(), NSStringFormat, clang::NumArgs, and StrftimeFormat.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3698 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::FixItHint::CreateReplacement(), clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Sema::getLangOpts(), clang::DeclaratorDecl::getLocStart(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::FunctionDecl::getReturnType(), clang::FunctionDecl::getReturnTypeSourceRange(), clang::ValueDecl::getType(), clang::DeclaratorDecl::getTypeSpecStartLoc(), clang::FunctionDecl::isInlineSpecified(), clang::SourceRange::isValid(), and clang::Type::isVoidType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3731 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), and clang::FunctionDecl::isInlineSpecified().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 624 of file SemaDeclAttr.cpp.
References checkGuardedByAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1615 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1134 of file SemaDeclAttr.cpp.
References checkIBOutletCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1143 of file SemaDeclAttr.cpp.
References checkIBOutletCommon(), clang::Sema::Context, clang::Sema::Diag(), clang::IdentifierTable::get(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::Sema::getScopeForContext(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::AttributeList::getTypeArg(), clang::Sema::GetTypeFromParser(), clang::Sema::getTypeName(), clang::AttributeList::hasParsedType(), clang::ASTContext::Idents, clang::Type::isBuiltinType(), clang::Type::isObjCIdType(), and clang::Type::isObjCObjectType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1552 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), and clang::TargetInfo::getTriple().
Referenced by ProcessDeclAttribute().
|
static |
Handle attribute((init_priority(priority))) attributes based on http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html.
Definition at line 2824 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getArgAsExpr(), clang::Type::getAs(), clang::ASTContext::getAsArrayType(), clang::AttributeList::getAttributeSpellingListIndex(), clang::ASTContext::getBaseElementType(), clang::Sema::getCurFunctionOrMethodDecl(), clang::Sema::getLangOpts(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::AttributeList::setInvalid().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5252 of file SemaDeclAttr.cpp.
References clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::Sema::mergeInternalLinkageAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4908 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), handleAnyX86InterruptAttr(), handleARMInterruptAttr(), handleMipsInterruptAttr(), and handleMSP430InterruptAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4102 of file SemaDeclAttr.cpp.
References clang::Sema::AddLaunchBoundsAttr(), checkAttributeAtLeastNumArgs(), checkAttributeAtMostNumArgs(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4979 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::LangOptions::MSVC2015.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 775 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 789 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3685 of file SemaDeclAttr.cpp.
References clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Sema::mergeMinSizeAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4783 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionOrMethod, clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodNumParams(), getFunctionOrMethodResultType(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), hasFunctionProto(), isFunctionOrMethod(), and clang::Type::isVoidType().
Referenced by handleInterruptAttr().
|
static |
handleModeAttr - This attribute modifies the width of a decl with primitive type.
Despite what would be logical, the mode attribute is a decl attribute, not a type attribute: 'int ** __attribute((mode(HI))) *G;' tries to make 'G' be HImode, not an intermediate pointer.
Definition at line 3425 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Sema::AddModeAttr(), clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::Name.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4651 of file SemaDeclAttr.cpp.
References clang::ASTConsumer::AssignInheritanceModel(), AttributeLangSupport::C, clang::Sema::Consumer, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::AttributeList::getSemanticSpelling(), clang::Sema::LangOpts, and clang::Sema::mergeMSInheritanceAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4747 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, checkAttributeNumArgs(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::isArgExpr(), and clang::Expr::isIntegerConstantExpr().
Referenced by handleInterruptAttr().
|
static |
Definition at line 1667 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3581 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1230 of file SemaDeclAttr.cpp.
References clang::Sema::ActiveTemplateInstantiations, attrNonNullArgCheck(), checkFunctionOrMethodParameterIndex(), clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodNumParams(), getFunctionOrMethodParamRange(), getFunctionOrMethodParamType(), clang::AttributeList::getLoc(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), I, clang::Type::isDependentType(), clang::SourceLocation::isFileID(), isFunctionOrMethodVariadic(), and clang::Sema::isValidPointerAttrType().
Referenced by handleNonNullAttrParameter(), and ProcessDeclAttribute().
|
static |
Definition at line 1274 of file SemaDeclAttr.cpp.
References attrNonNullArgCheck(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::ParmVarDecl::getSourceRange(), clang::ValueDecl::getType(), and handleNonNullAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1676 of file SemaDeclAttr.cpp.
References clang::Sema::CheckNoReturnAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionOrMethod, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and hasDeclarator().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5213 of file SemaDeclAttr.cpp.
References checkAttributeAtLeastNumArgs(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), I, and clang::parseSanitizerValue().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5237 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and normalizeName().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1796 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4209 of file SemaDeclAttr.cpp.
References clang::Sema::AddNSConsumedAttr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getKind(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4251 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionMethodOrParameter, clang::ExpectedFunctionOrMethod, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getKind(), clang::Sema::getLangOpts(), clang::AttributeList::getName(), clang::Type::getPointeeType(), clang::AttributeList::getRange(), hasDeclarator(), clang::QualType::isNull(), isValidSubjectOfCFAttribute(), isValidSubjectOfNSAttribute(), isValidSubjectOfNSReturnsRetainedAttribute(), and clang::Property.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4530 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::getASTMutationListener(), clang::AttributeList::getAttributeSpellingListIndex(), clang::RecordDecl::getDefinition(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4435 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), clang::IdentifierInfo::isStr(), and clang::Type::isVoidPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4465 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, and clang::AttributeList::isArgIdent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4479 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, and clang::AttributeList::isArgIdent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4497 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::ObjCInterfaceDecl::setHasDesignatedInitializers().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2384 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Type::isObjCObjectPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2325 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Sema::Context, clang::ast_matchers::decl, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ObjCMethodDecl::getReturnType(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), clang::Type::isObjCObjectPointerType(), clang::IdentifierLoc::Loc, and clang::OMF_init.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2355 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Type::isCARCBridgableType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4553 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::ExpectedVariable, clang::AttributeList::getName(), clang::AttributeList::getRange(), and hasDeclarator().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4561 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), clang::ValueDecl::getType(), clang::Qualifiers::OCL_Autoreleasing, clang::Qualifiers::OCL_ExplicitNone, clang::Qualifiers::OCL_None, clang::Qualifiers::OCL_Strong, clang::Qualifiers::OCL_Weak, and clang::ast_matchers::type.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4391 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::ObjCMethodDecl::getMethodFamily(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::OMF_dealloc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4363 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::Type::isObjCRetainableType(), clang::Type::isPointerType(), and clang::Type::isReferenceType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4515 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1889 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5310 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Sema::getLangOpts(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::Type::isImageType(), and clang::Type::isPipeType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5260 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and clang::Sema::LangOpts.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3691 of file SemaDeclAttr.cpp.
References clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Sema::mergeOptimizeNoneAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1379 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, checkFunctionOrMethodParameterIndex(), clang::Sema::Context, clang::Sema::Diag(), clang::IdentifierTable::get(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodParamType(), clang::Preprocessor::getIdentifierTable(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), I, clang::IdentifierLoc::Ident, clang::Type::isAnyPointerType(), clang::AttributeList::isArgIdent(), clang::Type::isBlockPointerType(), clang::Type::isIntegerType(), normalizeName(), and clang::Sema::PP.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1091 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::ASTContext::getTypeAlign().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3950 of file SemaDeclAttr.cpp.
References clang::Sema::AddParameterABIAttr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 951 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::IdentifierLoc::Loc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 837 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 633 of file SemaDeclAttr.cpp.
References checkGuardedByAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and threadSafetyCheckIsPointer().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 599 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and threadSafetyCheckIsPointer().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5150 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5161 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1643 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodResultSourceRange(), getFunctionOrMethodResultType(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::Type::isAnyPointerType(), and clang::Type::isBlockPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1296 of file SemaDeclAttr.cpp.
References attrNonNullArgCheck(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodResultSourceRange(), getFunctionOrMethodResultType(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 988 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::IdentifierLoc::Loc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2640 of file SemaDeclAttr.cpp.
References clang::Sema::checkSectionName(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::isValidSectionSpecifier(), and clang::Sema::mergeSectionAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2420 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Type::castAs(), clang::Sema::Context, clang::Sema::Diag(), E, clang::ExpectedFunctionMethodOrBlock, clang::AttributeList::getArgAsExpr(), clang::Type::getAs(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::Type::isBlockPointerType(), clang::Type::isFunctionPointerType(), clang::Expr::isIntegerConstantExpr(), clang::Expr::isTypeDependent(), and clang::Expr::isValueDependent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1036 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, checkForConsumableClass(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::IdentifierLoc::Loc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 751 of file SemaDeclAttr.cpp.
References checkTryLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Applies the given attribute to the Decl without performing any additional semantic checking.
Definition at line 349 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
|
static |
Definition at line 356 of file SemaDeclAttr.cpp.
References S.
Referenced by handleSimpleAttributeWithExclusions().
|
static |
Applies the given attribute to the Decl so long as the Decl doesn't already have one of the given incompatible attributes.
Definition at line 365 of file SemaDeclAttr.cpp.
References clang::AttributeList::getName(), clang::AttributeList::getRange(), handleSimpleAttributeWithExclusions(), and S.
|
static |
Definition at line 2675 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::checkTargetAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1060 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, checkForConsumableClass(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), and clang::IdentifierLoc::Loc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1623 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3008 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedUnion, clang::RecordDecl::field_begin(), clang::RecordDecl::field_end(), clang::Type::getAsUnionType(), clang::AttributeList::getAttributeSpellingListIndex(), clang::RecordType::getDecl(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ValueDecl::getType(), clang::ASTContext::getTypeAlign(), clang::ASTContext::getTypeSize(), clang::TypedefNameDecl::getUnderlyingType(), clang::Type::hasFloatingRepresentation(), clang::TagDecl::isCompleteDefinition(), clang::TagDecl::isUnion(), clang::Type::isUnionType(), and clang::Type::isVectorType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 5136 of file SemaDeclAttr.cpp.
References checkTryLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4158 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, checkAttributeNumArgs(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedVariable, clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLayoutCompatible(), clang::AttributeList::getLoc(), clang::AttributeList::getMatchingCType(), clang::AttributeList::getMustBeNull(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::Sema::GetTypeFromParser(), clang::IdentifierLoc::Ident, and clang::AttributeList::isArgIdent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1833 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedForMaybeUnused, clang::AttributeList::getAttributeSpellingListIndex(), clang::Sema::getLangOpts(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::AttributeList::getScopeName(), clang::AttributeList::isCXX11Attribute(), and isStaticDataMember().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1816 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedVariableOrFunction, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and isFunctionOrMethod().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4606 of file SemaDeclAttr.cpp.
References AttributeLangSupport::C, clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedClass, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::isHexDigit(), and clang::Sema::LangOpts.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1724 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::RecordDecl::fields(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getRange(), and I.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2586 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::Sema::getASTContext(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getTypeArg(), clang::Sema::GetTypeFromParser(), clang::AttributeList::hasParsedType(), clang::ASTContext::hasSameType(), clang::Type::isBooleanType(), clang::Type::isExtVectorType(), clang::Type::isFloatingType(), and clang::Type::isIntegralType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2272 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedTypeOrNamespace, clang::AttributeList::getAttributeSpellingListIndex(), clang::SourceRange::getBegin(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::hasProtectedVisibility(), clang::Sema::mergeTypeVisibilityAttr(), clang::Sema::mergeVisibilityAttr(), and clang::ast_matchers::type.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2511 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Sema::getLangOpts(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::AttributeList::getScopeName(), and clang::AttributeList::isCXX11Attribute().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2536 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedVariableOrFunction, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ASTContext::getTargetInfo(), and clang::TargetInfo::getTriple().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1488 of file SemaDeclAttr.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2561 of file SemaDeclAttr.cpp.
References checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), E, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
|
static |
Definition at line 4954 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ValueDecl::getType(), clang::TypedefNameDecl::getUnderlyingType(), clang::Type::isFunctionPointerType(), and clang::Type::isFunctionType().
Referenced by ProcessDeclAttribute().
Return true if the given decl has a declarator that should have been processed by Sema::GetTypeForDeclarator.
Definition at line 67 of file SemaDeclAttr.cpp.
Referenced by handleCallConvAttr(), handleNoReturnAttr(), handleNSReturnsRetainedAttr(), and handleObjCOwnershipAttr().
hasFunctionProto - Return true if the given decl has a argument information.
This decl should have already passed isFunctionOrMethod or isFunctionOrMethodOrBlock.
Definition at line 76 of file SemaDeclAttr.cpp.
Referenced by checkFunctionOrMethodParameterIndex(), handleAnyX86InterruptAttr(), handleArgumentWithTypeTagAttr(), and handleMipsInterruptAttr().
Definition at line 490 of file SemaDeclAttr.cpp.
References E, and typeHasCapability().
Referenced by checkAttrArgsAreCapabilityObjs().
|
inlinestatic |
Definition at line 159 of file SemaDeclAttr.cpp.
References clang::IdentifierTable::get(), clang::Type::getAs(), clang::RecordType::getDecl(), clang::NamedDecl::getIdentifier(), clang::PointerType::getPointeeType(), clang::TagDecl::getTagKind(), clang::ASTContext::Idents, and clang::TTK_Struct.
Referenced by handleFormatArgAttr(), and handleFormatAttr().
Definition at line 6197 of file SemaDeclAttr.cpp.
Referenced by DoEmitAvailabilityWarning().
Definition at line 6209 of file SemaDeclAttr.cpp.
Referenced by DoEmitAvailabilityWarning().
|
static |
Is the given declaration allowed to use a forbidden type? If so, it'll still be annotated with an attribute that makes it illegal to actually use.
Definition at line 6136 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::sema::DelayedDiagnostic::getForbiddenTypeDiagnostic(), clang::ASTContext::getSourceManager(), and clang::SourceManager::isInSystemHeader().
Referenced by handleDelayedForbiddenType().
isFunctionOrMethod - Return true if the given decl has function type (function or function-typed variable) or an Objective-C method.
Definition at line 55 of file SemaDeclAttr.cpp.
Referenced by GetFullTypeForDeclarator(), handleAnyX86InterruptAttr(), handleArgumentWithTypeTagAttr(), handleMipsInterruptAttr(), handleUsedAttr(), isFunctionOrMethodOrBlock(), and LookupVisibleDecls().
Return true if the given decl has function type (function or function-typed variable) or an Objective-C method or a block.
Definition at line 61 of file SemaDeclAttr.cpp.
References isFunctionOrMethod().
Referenced by checkFunctionOrMethodParameterIndex(), and handleAnalyzerNoReturnAttr().
Definition at line 126 of file SemaDeclAttr.cpp.
References clang::FunctionProtoType::isVariadic().
Referenced by checkFunctionOrMethodParameterIndex(), handleFormatAttr(), and handleNonNullAttr().
Definition at line 137 of file SemaDeclAttr.cpp.
Referenced by checkFunctionOrMethodParameterIndex(), clang::getCursorKindForDecl(), handleAnyX86InterruptAttr(), and handleFormatAttr().
Check if the passed-in expression is of type int or bool.
Definition at line 375 of file SemaDeclAttr.cpp.
References clang::Expr::getType(), clang::Type::isBooleanType(), and clang::Type::isIntegerType().
Referenced by checkTryLockFunAttrCommon().
|
inlinestatic |
Definition at line 143 of file SemaDeclAttr.cpp.
References clang::IdentifierTable::get(), clang::Type::getAs(), clang::NamedDecl::getIdentifier(), clang::ObjCObjectType::getInterface(), clang::ObjCObjectPointerType::getObjectType(), and clang::ASTContext::Idents.
Referenced by handleFormatArgAttr(), and handleFormatAttr().
Definition at line 4203 of file SemaDeclAttr.cpp.
References clang::Type::isDependentType(), clang::Type::isPointerType(), and isValidSubjectOfNSAttribute().
Referenced by clang::Sema::AddNSConsumedAttr(), and handleNSReturnsRetainedAttr().
Definition at line 4197 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Type::isDependentType(), clang::ASTContext::isObjCNSObjectType(), and clang::Type::isObjCObjectPointerType().
Referenced by clang::Sema::AddNSConsumedAttr(), handleNSReturnsRetainedAttr(), and isValidSubjectOfCFAttribute().
Definition at line 4192 of file SemaDeclAttr.cpp.
References clang::Type::isDependentType(), and clang::Type::isObjCRetainableType().
Referenced by handleNSReturnsRetainedAttr().
Pointer-like types in the default address space.
Definition at line 3918 of file SemaDeclAttr.cpp.
References clang::QualType::getAddressSpace(), clang::Type::getPointeeType(), clang::Type::hasPointerRepresentation(), and clang::Type::isDependentType().
Referenced by clang::Sema::AddParameterABIAttr(), and isValidSwiftErrorResultType().
Pointers and references to pointers in the default address space.
Definition at line 3937 of file SemaDeclAttr.cpp.
References clang::Qualifiers::empty(), clang::Type::getAs(), clang::Type::getPointeeType(), clang::QualType::getQualifiers(), clang::Type::isDependentType(), and isValidSwiftContextType().
Referenced by clang::Sema::AddParameterABIAttr().
Pointers and references in the default address space.
Definition at line 3925 of file SemaDeclAttr.cpp.
References clang::QualType::getAddressSpace(), clang::Type::getAs(), clang::Type::getPointeeType(), and clang::Type::isDependentType().
Referenced by clang::Sema::AddParameterABIAttr().
|
static |
Definition at line 4047 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Sema::Context, clang::Sema::Diag(), clang::Sema::DiagnoseUnexpandedParameterPack(), clang::ActionResult< PtrTy, CompressInvalid >::getAs(), clang::ASTContext::getConstType(), clang::Expr::getExprLoc(), I, clang::InitializedEntity::InitializeParameter(), clang::ASTContext::IntTy, clang::Expr::isIntegerConstantExpr(), clang::Expr::isValueDependent(), and clang::Sema::PerformCopyInitialization().
Referenced by clang::Sema::AddLaunchBoundsAttr().
|
static |
Definition at line 2243 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), and clang::SourceRange::getBegin().
|
static |
Normalize the attribute, foo becomes foo.
Returns true if normalization was applied.
Definition at line 1370 of file SemaDeclAttr.cpp.
Referenced by clang::Sema::AddModeAttr(), handleFormatAttr(), handleNoSanitizeSpecificAttr(), and handleOwnershipAttr().
|
static |
parseModeAttrArg - Parses attribute mode string and returns parsed type attribute.
Definition at line 3365 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::TargetInfo::getCharWidth(), clang::TargetInfo::getPointerWidth(), clang::TargetInfo::getRegisterWidth(), clang::ASTContext::getTargetInfo(), and clang::TargetInfo::getUnwindWordWidth().
Referenced by clang::Sema::AddModeAttr().
|
static |
ProcessDeclAttribute - Apply the specific attribute to the specified decl if the attribute applies to decls.
If the attribute is a type attribute, just silently ignore it if a GNU attribute.
Definition at line 5351 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::existsInTarget(), clang::AttributeList::getKind(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::ASTContext::getTargetInfo(), handleAbiTagAttr(), handleAcquireCapabilityAttr(), handleAcquiredAfterAttr(), handleAcquiredBeforeAttr(), handleAliasAttr(), handleAlignedAttr(), handleAlignValueAttr(), handleAlwaysInlineAttr(), handleAMDGPUNumSGPRAttr(), handleAMDGPUNumVGPRAttr(), handleAnalyzerNoReturnAttr(), handleAnnotateAttr(), handleArgumentWithTypeTagAttr(), handleAssertCapabilityAttr(), handleAssertExclusiveLockAttr(), handleAssertSharedLockAttr(), handleAssumeAlignedAttr(), handleAvailabilityAttr(), handleBlocksAttr(), handleCallableWhenAttr(), handleCallConvAttr(), handleCapabilityAttr(), handleCFAuditedTransferAttr(), handleCFUnknownTransferAttr(), handleCleanupAttr(), handleColdAttr(), handleCommonAttr(), handleCommonAttributeFeatures(), handleConstructorAttr(), handleConsumableAttr(), handleDeclspecThreadAttr(), handleDependencyAttr(), handleDeprecatedAttr(), handleDestructorAttr(), handleDisableTailCallsAttr(), handleDLLAttr(), handleEnableIfAttr(), handleExclusiveTrylockFunctionAttr(), handleExtVectorTypeAttr(), handleFormatArgAttr(), handleFormatAttr(), handleGlobalAttr(), handleGNUInlineAttr(), handleGuardedByAttr(), handleHotAttr(), handleIBOutlet(), handleIBOutletCollection(), handleIFuncAttr(), handleInitPriorityAttr(), handleInternalLinkageAttr(), handleInterruptAttr(), handleLaunchBoundsAttr(), handleLayoutVersion(), handleLockReturnedAttr(), handleLocksExcludedAttr(), handleMinSizeAttr(), handleModeAttr(), handleMSInheritanceAttr(), handleNakedAttr(), handleNoDebugAttr(), handleNonNullAttr(), handleNonNullAttrParameter(), handleNoReturnAttr(), handleNoSanitizeAttr(), handleNoSanitizeSpecificAttr(), handleNotTailCalledAttr(), handleNSConsumedAttr(), handleNSReturnsRetainedAttr(), handleObjCBoxable(), handleObjCBridgeAttr(), handleObjCBridgeMutableAttr(), handleObjCBridgeRelatedAttr(), handleObjCDesignatedInitializer(), handleObjCIndependentClass(), handleObjCMethodFamilyAttr(), handleObjCNSObject(), handleObjCOwnershipAttr(), handleObjCPreciseLifetimeAttr(), handleObjCRequiresSuperAttr(), handleObjCReturnsInnerPointerAttr(), handleObjCRuntimeName(), handleObjCSuppresProtocolAttr(), handleOpenCLAccessAttr(), handleOpenCLNoSVMAttr(), handleOptimizeNoneAttr(), handleOwnershipAttr(), handlePackedAttr(), handleParameterABIAttr(), handleParamTypestateAttr(), handlePassObjectSizeAttr(), handlePtGuardedByAttr(), handlePtGuardedVarAttr(), handleReleaseCapabilityAttr(), handleRequiresCapabilityAttr(), handleRestrictAttr(), handleReturnsNonNullAttr(), handleReturnTypestateAttr(), handleSectionAttr(), handleSentinelAttr(), handleSetTypestateAttr(), handleSharedTrylockFunctionAttr(), handleTargetAttr(), handleTestTypestateAttr(), handleTLSModelAttr(), handleTransparentUnionAttr(), handleTryAcquireCapabilityAttr(), handleTypeTagForDatatypeAttr(), handleUnusedAttr(), handleUsedAttr(), handleUuidAttr(), handleVecReturnAttr(), handleVecTypeHint(), handleVisibilityAttr(), handleWarnUnusedResult(), handleWeakImportAttr(), handleWeakRefAttr(), handleX86ForceAlignArgPointerAttr(), clang::AttributeList::IgnoredAttribute, clang::AttributeList::isCXX11Attribute(), clang::AttributeList::isDeclspecAttribute(), clang::AttributeList::isInvalid(), clang::AttributeList::isStmtAttr(), clang::AttributeList::isTypeAttr(), S, clang::SwiftContext, clang::SwiftErrorResult, clang::SwiftIndirectResult, and clang::AttributeList::UnknownAttribute.
Referenced by clang::Sema::ProcessAccessDeclAttributeList(), and clang::Sema::ProcessDeclAttributeList().
|
static |
Check if passed in Decl is a pointer type.
Note that this function may produce an error message.
Definition at line 400 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::Type::getAs(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::ValueDecl::getType(), and threadSafetyCheckIsSmartPointer().
Referenced by handlePtGuardedByAttr(), and handlePtGuardedVarAttr().
|
static |
Definition at line 383 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::ASTContext::DeclarationNames, clang::DeclContextLookupResult::empty(), clang::DeclarationNameTable::getCXXOperatorName(), clang::RecordType::getDecl(), and clang::DeclContext::lookup().
Referenced by checkRecordTypeForCapability(), and threadSafetyCheckIsPointer().
Definition at line 480 of file SemaDeclAttr.cpp.
References checkRecordTypeForCapability(), and checkTypedefTypeForCapability().
Referenced by checkAcquireOrderAttrCommon(), checkAttrArgsAreCapabilityObjs(), and isCapabilityExpr().
|
static |
Check whether the two versions match.
If either version tuple is empty, then they are assumed to match. If BeforeIsOkay
is true, then X
can be less than or equal to Y
.
Definition at line 1945 of file SemaDeclAttr.cpp.
References clang::VersionTuple::empty().
Referenced by clang::Sema::mergeAvailabilityAttr().