clang
3.7.0
|
#include "clang/Sema/SemaInternal.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/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 | |
enum FormatAttrKind |
Enumerator | |
---|---|
CFStringFormat | |
NSStringFormat | |
StrftimeFormat | |
SupportedFormat | |
IgnoredFormat | |
InvalidFormat |
Definition at line 2530 of file SemaDeclAttr.cpp.
|
static |
Definition at line 1163 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 624 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Diag(), clang::RecordType::getDecl(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), getRecordType(), clang::Decl::hasAttr(), and clang::Type::isDependentType().
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 498 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(), typeHasCapability(), and clang::UO_AddrOf.
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 199 of file SemaDeclAttr.cpp.
References checkAttributeNumArgsImpl().
Referenced by checkAcquireOrderAttrCommon(), checkTryLockFunAttrCommon(), 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 208 of file SemaDeclAttr.cpp.
References checkAttributeNumArgsImpl().
Referenced by handleCommonAttributeFeatures(), and handleLaunchBoundsAttr().
|
static |
Check if the attribute has exactly as many args as Num. May output an error.
Definition at line 190 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 177 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 247 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::Decl::getAttr(), clang::AttributeList::getLoc(), and clang::AttributeList::getName().
|
static |
Definition at line 1764 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 838 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 261 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 586 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs().
Referenced by handleGuardedByAttr(), and handlePtGuardedByAttr().
|
static |
Definition at line 1057 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::AttributeList::getLoc(), and clang::AttributeList::getName().
Referenced by handleIBOutlet(), and handleIBOutletCollection().
|
static |
Definition at line 3556 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Sema::Context, clang::Sema::Diag(), clang::Sema::DiagnoseUnexpandedParameterPack(), clang::Expr::getExprLoc(), clang::Expr::isIntegerConstantExpr(), and clang::Expr::isValueDependent().
Referenced by clang::Sema::AddLaunchBoundsAttr().
|
static |
Definition at line 675 of file SemaDeclAttr.cpp.
References checkAttrArgsAreCapabilityObjs().
Referenced by handleAcquireCapabilityAttr(), handleAssertExclusiveLockAttr(), and handleAssertSharedLockAttr().
Definition at line 412 of file SemaDeclAttr.cpp.
References clang::Type::getAs(), clang::RecordType::getDecl(), getRecordType(), clang::CXXBaseSpecifier::getType(), clang::Decl::hasAttr(), clang::Type::isIncompleteType(), P, and threadSafetyCheckIsSmartPointer().
Referenced by typeHasCapability().
|
static |
Definition at line 713 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 445 of file SemaDeclAttr.cpp.
References clang::Type::getAs(), and clang::Decl::hasAttr().
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 217 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Sema::Context, clang::Sema::Diag(), clang::Expr::getExprLoc(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::Expr::isIntegerConstantExpr(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), and UINT_MAX.
Referenced by clang::Sema::CheckRegparmAttr(), handleAMDGPUNumSGPRAttr(), handleAMDGPUNumVGPRAttr(), handleConstructorAttr(), handleDestructorAttr(), handleFormatAttr(), handleInitPriorityAttr(), 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 5156 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.
Referenced by clang::Sema::ActOnCastExpr().
|
static |
Definition at line 5366 of file SemaDeclAttr.cpp.
References clang::Sema::AD_Deprecation, clang::Sema::AD_Partial, clang::Sema::AD_Unavailable, clang::Sema::Diag(), clang::NamedDecl::getDeclName(), clang::Decl::getLocation(), isDeclDeprecated(), and isDeclUnavailable().
Referenced by clang::Sema::EmitAvailabilityWarning(), and handleDelayedAvailabilityCheck().
|
static |
getFormatAttrKind - Map from format attribute names to supported format types.
Definition at line 2541 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 81 of file SemaDeclAttr.cpp.
References clang::Decl::getFunctionType().
Referenced by checkFunctionOrMethodParameterIndex(), handleFormatAttr(), and handleNonNullAttr().
|
static |
Definition at line 98 of file SemaDeclAttr.cpp.
Referenced by handleFormatArgAttr(), handleFormatAttr(), and handleNonNullAttr().
Definition at line 89 of file SemaDeclAttr.cpp.
References clang::Decl::getFunctionType().
Referenced by handleArgumentWithTypeTagAttr(), handleFormatArgAttr(), handleFormatAttr(), handleNonNullAttr(), and handleOwnershipAttr().
|
static |
Definition at line 114 of file SemaDeclAttr.cpp.
Referenced by clang::Sema::AddAssumeAlignedAttr(), handleRestrictAttr(), and handleReturnsNonNullAttr().
Definition at line 108 of file SemaDeclAttr.cpp.
References clang::Decl::getFunctionType().
Referenced by clang::Sema::AddAssumeAlignedAttr(), handleFormatArgAttr(), handleRestrictAttr(), and handleReturnsNonNullAttr().
|
static |
Definition at line 171 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 401 of file SemaDeclAttr.cpp.
References clang::Type::getAs(), and clang::Type::getPointeeType().
Referenced by checkAcquireOrderAttrCommon(), checkAttrArgsAreCapabilityObjs(), checkRecordTypeForCapability(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), and clang::CodeGen::CodeGenFunction::EmitLambdaDelegatingInvokeBody().
|
static |
Definition at line 4412 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 649 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAcquireOrderAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 662 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAcquireOrderAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1491 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 2886 of file SemaDeclAttr.cpp.
References clang::Sema::AddAlignedAttr(), clang::Decl::addAttr(), clang::Expr::containsUnexpandedParameterPack(), clang::Sema::Context, clang::Sema::Diag(), clang::Sema::DiagnoseUnexpandedParameterPack(), 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 2834 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 3317 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::Sema::mergeAlwaysInlineAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4255 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getLoc().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4242 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getLoc().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1605 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 2816 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Decl::specific_attrs().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3613 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 4169 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 4405 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 698 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 685 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1256 of file SemaDeclAttr.cpp.
References clang::Sema::AddAssumeAlignedAttr(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
|
static |
Definition at line 1946 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAttributeNumArgs(), clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getAvailabilityDeprecated(), clang::AttributeList::getAvailabilityIntroduced(), clang::AttributeList::getAvailabilityObsoleted(), clang::AttributeList::getLoc(), clang::AttributeList::getMessageExpr(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::AttributeList::getUnavailableLoc(), clang::IdentifierLoc::Ident, clang::SourceLocation::isValid(), clang::IdentifierLoc::Loc, clang::Sema::mergeAvailabilityAttr(), and clang::AvailabilityChange::Version.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2142 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 856 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 3366 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 4381 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 3899 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3909 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2424 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::Compatible, clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Expr::getExprLoc(), clang::AttributeList::getLoc(), clang::Decl::getLocation(), 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 1521 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1569 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, AttributeLangSupport::Cpp, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::Sema::LangOpts.
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 4526 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 1717 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 815 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 4150 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 5435 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 5316 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 1683 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 4467 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::Sema::getLangOpts(), clang::AttributeList::getLoc(), clang::AttributeList::getScopeName(), clang::AttributeList::hasScope(), clang::AttributeList::isCXX11Attribute(), clang::IdentifierInfo::isStr(), and S.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1728 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkUInt32Argument(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4319 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 787 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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(), 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 744 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkTryLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1031 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 2489 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 2623 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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::Decl::getLocation(), 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(), NSStringFormat, and StrftimeFormat.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3338 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::FixItHint::CreateReplacement(), clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), clang::FunctionDecl::getReturnType(), clang::FunctionDecl::getReturnTypeSourceRange(), clang::ValueDecl::getType(), clang::DeclaratorDecl::getTypeSpecStartLoc(), clang::SourceRange::isValid(), and clang::Type::isVoidType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3354 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 601 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkGuardedByAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1529 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1083 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkIBOutletCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1092 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkIBOutletCommon(), clang::Sema::Context, clang::Sema::Diag(), clang::IdentifierTable::get(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getDeclContext(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::DeclContext::getParent(), 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 |
Handle attribute((init_priority(priority))) attributes based on http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html
Definition at line 2561 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), 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 4234 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), handleARMInterruptAttr(), and handleMSP430InterruptAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3602 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 755 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAttrArgsAreCapabilityObjs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 769 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3325 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Sema::mergeMinSizeAttr().
Referenced by ProcessDeclAttribute().
|
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 3107 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::Type::getAs(), clang::AttributeList::getAttributeSpellingListIndex(), clang::TargetInfo::getCharWidth(), clang::ASTContext::getComplexType(), clang::ASTContext::getIntTypeForBitwidth(), clang::AttributeList::getLoc(), clang::Decl::getLocation(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), clang::TargetInfo::getPointerWidth(), clang::AttributeList::getRange(), clang::ASTContext::getRealTypeForBitwidth(), clang::ASTContext::getTargetInfo(), clang::ASTContext::getTypeSize(), clang::TargetInfo::getUnwindWordWidth(), clang::ASTContext::getVectorType(), clang::IdentifierLoc::Ident, clang::AttributeList::isArgIdent(), clang::Type::isComplexType(), clang::Type::isFloatingType(), clang::Type::isIntegralOrEnumerationType(), clang::QualType::isNull(), and clang::Type::isSignedIntegerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4136 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), AttributeLangSupport::C, 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 4198 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Decl::addAttr(), 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 3249 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and isFunctionOrMethod().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1177 of file SemaDeclAttr.cpp.
References clang::Sema::ActiveTemplateInstantiations, clang::Decl::addAttr(), attrNonNullArgCheck(), checkFunctionOrMethodParameterIndex(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodNumParams(), getFunctionOrMethodParamRange(), getFunctionOrMethodParamType(), clang::AttributeList::getLoc(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::Type::isDependentType(), clang::SourceLocation::isFileID(), isFunctionOrMethodVariadic(), and clang::Sema::isValidPointerAttrType().
Referenced by handleNonNullAttrParameter(), and ProcessDeclAttribute().
|
static |
Definition at line 1221 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), attrNonNullArgCheck(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getFunctionType(), clang::AttributeList::getLoc(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), clang::ParmVarDecl::getSourceRange(), clang::ValueDecl::getType(), and handleNonNullAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1580 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 4486 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAttributeAtLeastNumArgs(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), and clang::parseSanitizerValue().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4510 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::IdentifierInfo::getName(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3708 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getKind(), clang::Decl::getLocStart(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::ValueDecl::getType(), isValidSubjectOfCFAttribute(), and isValidSubjectOfNSAttribute().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3736 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionMethodOrParameter, clang::ExpectedFunctionOrMethod, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getKind(), clang::Sema::getLangOpts(), clang::Decl::getLocStart(), 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 4015 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::getASTMutationListener(), clang::AttributeList::getAttributeSpellingListIndex(), clang::RecordDecl::getDefinition(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3919 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::Decl::getLocStart(), 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 3949 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getLocStart(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, and clang::AttributeList::isArgIdent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3963 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getLocStart(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::IdentifierLoc::Ident, and clang::AttributeList::isArgIdent().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3981 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getDeclContext(), clang::AttributeList::getRange(), and clang::ObjCInterfaceDecl::setHasDesignatedInitializers().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2126 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getLocation(), clang::AttributeList::getRange(), and clang::Type::isObjCObjectPointerType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2067 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), clang::Sema::Context, clang::ast_matchers::decl, clang::Sema::Diag(), clang::AttributeList::getArgAsIdent(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::Decl::getLocation(), 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 2097 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getLocation(), clang::AttributeList::getRange(), and clang::Type::isCARCBridgableType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4038 of file SemaDeclAttr.cpp.
References clang::Sema::Diag(), clang::ExpectedVariable, clang::Decl::getLocStart(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and hasDeclarator().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4046 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 3877 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getDeclContext(), clang::Decl::getLocStart(), clang::ObjCMethodDecl::getMethodFamily(), clang::AttributeList::getName(), clang::AttributeList::getRange(), and clang::OMF_dealloc.
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3849 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::Decl::getLocStart(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::Type::isObjCRetainableType(), clang::Type::isPointerType(), and clang::Type::isReferenceType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3999 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1751 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 3331 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and clang::Sema::mergeOptimizeNoneAttr().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1315 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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(), clang::IdentifierLoc::Ident, clang::Type::isAnyPointerType(), clang::AttributeList::isArgIdent(), clang::Type::isBlockPointerType(), clang::Type::isIntegerType(), clang::Sema::PP, and clang::Decl::specific_attrs().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1037 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 895 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 610 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkGuardedByAttrCommon(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and threadSafetyCheckIsPointer().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 576 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getRange(), and threadSafetyCheckIsPointer().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4438 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAttrArgsAreCapabilityObjs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 4449 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkAttrArgsAreCapabilityObjs(), checkAttributeAtLeastNumArgs(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1557 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 1243 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), attrNonNullArgCheck(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), getFunctionOrMethodResultSourceRange(), getFunctionOrMethodResultType(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 933 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 2376 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 2162 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIntegerConstant, clang::Decl::addAttr(), clang::Type::castAs(), clang::Sema::Context, clang::Sema::Diag(), clang::ExpectedFunctionMethodOrBlock, clang::AttributeList::getArgAsExpr(), clang::Type::getAs(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getFunctionType(), 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 982 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 731 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 344 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
|
static |
Definition at line 2411 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::checkTargetAttr(), clang::Sema::Context, clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 1006 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 1537 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2747 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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::Decl::getLocation(), 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 4424 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkTryLockFunAttrCommon(), clang::Sema::Context, clang::AttributeList::getArgAsExpr(), clang::AttributeList::getAttributeSpellingListIndex(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 3658 of file SemaDeclAttr.cpp.
References clang::AANT_ArgumentIdentifier, clang::Decl::addAttr(), 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 1700 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 4091 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 1628 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::RecordDecl::fields(), clang::Decl::getAttr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), and clang::AttributeList::getRange().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2322 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::Sema::getASTContext(), clang::Decl::getAttr(), 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 2014 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 2253 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getFunctionType(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getRange(), clang::FunctionType::getReturnType(), and clang::Type::isVoidType().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2272 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Decl::canBeWeakImported(), 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 1427 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getAttributeSpellingListIndex(), clang::Decl::getDeclContext(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), clang::AttributeList::getNumArgs(), clang::AttributeList::getRange(), and clang::DeclContext::getRedeclContext().
Referenced by ProcessDeclAttribute().
|
static |
Definition at line 2297 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), checkUInt32Argument(), clang::Sema::Context, clang::Sema::Diag(), clang::AttributeList::getArgAsExpr(), clang::Decl::getAttr(), clang::AttributeList::getAttributeSpellingListIndex(), clang::AttributeList::getLoc(), clang::AttributeList::getName(), and clang::AttributeList::getRange().
|
static |
Definition at line 4268 of file SemaDeclAttr.cpp.
References clang::Decl::addAttr(), 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 63 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 72 of file SemaDeclAttr.cpp.
References clang::Decl::getFunctionType().
Referenced by checkFunctionOrMethodParameterIndex(), and handleArgumentWithTypeTagAttr().
Definition at line 467 of file SemaDeclAttr.cpp.
References clang::BO_LAnd, clang::BO_LOr, typeHasCapability(), and clang::UO_LNot.
Referenced by checkAttrArgsAreCapabilityObjs().
|
inlinestatic |
Definition at line 155 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 5342 of file SemaDeclAttr.cpp.
References clang::Decl::getDeclContext(), and clang::Decl::isDeprecated().
Referenced by DoEmitAvailabilityWarning().
Definition at line 5354 of file SemaDeclAttr.cpp.
References clang::Decl::getDeclContext(), and clang::Decl::isUnavailable().
Referenced by DoEmitAvailabilityWarning().
Is the given declaration allowed to use a forbidden type?
Definition at line 5302 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Decl::getLocation(), 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 52 of file SemaDeclAttr.cpp.
References clang::Decl::getFunctionType().
Referenced by GetFullTypeForDeclarator(), handleArgumentWithTypeTagAttr(), handleNoDebugAttr(), 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 57 of file SemaDeclAttr.cpp.
References isFunctionOrMethod().
Referenced by checkFunctionOrMethodParameterIndex(), and handleAnalyzerNoReturnAttr().
Definition at line 122 of file SemaDeclAttr.cpp.
References clang::Decl::getFunctionType(), and clang::FunctionProtoType::isVariadic().
Referenced by checkFunctionOrMethodParameterIndex(), handleFormatAttr(), and handleNonNullAttr().
Definition at line 133 of file SemaDeclAttr.cpp.
Referenced by checkFunctionOrMethodParameterIndex(), clang::getCursorKindForDecl(), and handleFormatAttr().
Check if the passed-in expression is of type int or bool.
Definition at line 351 of file SemaDeclAttr.cpp.
References clang::Expr::getType(), clang::Type::isBooleanType(), and clang::Type::isIntegerType().
Referenced by checkTryLockFunAttrCommon().
|
inlinestatic |
Definition at line 139 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 3702 of file SemaDeclAttr.cpp.
References clang::Type::isDependentType(), clang::Type::isPointerType(), and isValidSubjectOfNSAttribute().
Referenced by handleNSConsumedAttr(), and handleNSReturnsRetainedAttr().
Definition at line 3697 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Type::isDependentType(), clang::ASTContext::isObjCNSObjectType(), and clang::Type::isObjCObjectPointerType().
Referenced by handleNSConsumedAttr(), handleNSReturnsRetainedAttr(), and isValidSubjectOfCFAttribute().
Definition at line 3692 of file SemaDeclAttr.cpp.
References clang::Type::isDependentType(), and clang::Type::isObjCRetainableType().
Referenced by handleNSReturnsRetainedAttr().
|
static |
Definition at line 1985 of file SemaDeclAttr.cpp.
References clang::Sema::Context, clang::Sema::Diag(), clang::Decl::dropAttr(), clang::Decl::getAttr(), and clang::SourceRange::getBegin().
|
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 4571 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(), clang::TargetInfo::getTriple(), 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(), handleDLLAttr(), handleEnableIfAttr(), handleExclusiveTrylockFunctionAttr(), handleExtVectorTypeAttr(), handleFormatArgAttr(), handleFormatAttr(), handleGlobalAttr(), handleGNUInlineAttr(), handleGuardedByAttr(), handleHotAttr(), handleIBOutlet(), handleIBOutletCollection(), handleInitPriorityAttr(), handleInterruptAttr(), handleLaunchBoundsAttr(), handleLockReturnedAttr(), handleLocksExcludedAttr(), handleMinSizeAttr(), handleModeAttr(), handleMSInheritanceAttr(), handleNoDebugAttr(), handleNonNullAttr(), handleNonNullAttrParameter(), handleNoReturnAttr(), handleNoSanitizeAttr(), handleNoSanitizeSpecificAttr(), handleNSConsumedAttr(), handleNSReturnsRetainedAttr(), handleObjCBoxable(), handleObjCBridgeAttr(), handleObjCBridgeMutableAttr(), handleObjCBridgeRelatedAttr(), handleObjCDesignatedInitializer(), handleObjCIndependentClass(), handleObjCMethodFamilyAttr(), handleObjCNSObject(), handleObjCOwnershipAttr(), handleObjCPreciseLifetimeAttr(), handleObjCRequiresSuperAttr(), handleObjCReturnsInnerPointerAttr(), handleObjCRuntimeName(), handleObjCSuppresProtocolAttr(), handleOptimizeNoneAttr(), handleOwnershipAttr(), handlePackedAttr(), handleParamTypestateAttr(), handlePtGuardedByAttr(), handlePtGuardedVarAttr(), handleReleaseCapabilityAttr(), handleRequiresCapabilityAttr(), handleRestrictAttr(), handleReturnsNonNullAttr(), handleReturnTypestateAttr(), handleSectionAttr(), handleSentinelAttr(), handleSetTypestateAttr(), handleSharedTrylockFunctionAttr(), handleTargetAttr(), handleTestTypestateAttr(), handleTLSModelAttr(), handleTransparentUnionAttr(), handleTryAcquireCapabilityAttr(), handleTypeTagForDatatypeAttr(), handleUsedAttr(), handleUuidAttr(), handleVecReturnAttr(), handleVecTypeHint(), handleVisibilityAttr(), handleWarnUnusedResult(), handleWeakImportAttr(), handleWeakRefAttr(), handleX86ForceAlignArgPointerAttr(), clang::AttributeList::IgnoredAttribute, clang::AttributeList::isCXX11Attribute(), clang::AttributeList::isDeclspecAttribute(), clang::AttributeList::isInvalid(), clang::AttributeList::isTypeAttr(), S, 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 376 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 359 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 457 of file SemaDeclAttr.cpp.
References checkRecordTypeForCapability(), and checkTypedefTypeForCapability().
Referenced by 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 1807 of file SemaDeclAttr.cpp.
References clang::VersionTuple::empty().
Referenced by clang::Sema::mergeAvailabilityAttr().