clang-tools 20.0.0git
|
Classes | |
struct | AssignmentPair |
class | AvoidCapturingLambdaCoroutinesCheck |
Flags C++20 coroutine lambdas with non-empty capture lists that may cause use-after-free errors and suggests avoiding captures or ensuring the lambda closure object has a guaranteed lifetime. More... | |
class | AvoidConstOrRefDataMembersCheck |
Const-qualified or reference data members in classes should be avoided, as they make the class non-copy-assignable. More... | |
class | AvoidDoWhileCheck |
do-while loops are less readable than plan while loops, and can lead to subtle bugs. More... | |
class | AvoidGotoCheck |
The usage of goto for control flow is error prone and should be replaced with looping constructs. More... | |
class | AvoidNonConstGlobalVariablesCheck |
Non-const global variables hide dependencies and make the dependencies subject to unpredictable changes. More... | |
class | AvoidReferenceCoroutineParametersCheck |
Warns on coroutines that accept reference parameters. More... | |
class | CppCoreGuidelinesModule |
A module containing checks of the C++ Core Guidelines. More... | |
class | InitVariablesCheck |
Find uninitialized local variables. More... | |
class | InterfacesGlobalInitCheck |
Flags possible initialization order issues of static variables. More... | |
class | MacroUsageCheck |
Find macro usage that is considered problematic because better language constructs exist for the task. More... | |
class | MisleadingCaptureDefaultByValueCheck |
Warns when lambda specify a by-value capture default and capture this . More... | |
class | MissingStdForwardCheck |
Warns when a function accepting a forwarding reference does anything besides forwarding (with std::forward) the parameter in the body of the function. More... | |
class | NarrowingConversionsCheck |
Checks for narrowing conversions, e.g: int i = 0; i += 0.1;. More... | |
class | NoMallocCheck |
This checker is concerned with C-style memory management and suggest modern alternatives to it. More... | |
class | NoSuspendWithLockCheck |
Flag coroutines that suspend while any lock guard is alive. More... | |
class | OwningMemoryCheck |
Checks for common use cases for gsl::owner and enforces the unique owner nature of it whenever possible. More... | |
class | PreferMemberInitializerCheck |
Finds member initializations in the constructor body which can be placed into the initialization list instead. More... | |
class | ProBoundsArrayToPointerDecayCheck |
This check flags all array to pointer decays. More... | |
class | ProBoundsConstantArrayIndexCheck |
This checks that all array subscriptions on static arrays and std::arrays have a constant index and are within bounds. More... | |
class | ProBoundsPointerArithmeticCheck |
Flags all kinds of pointer arithmetic that have result of pointer type, i.e. More... | |
class | ProTypeConstCastCheck |
Imposes limitations on the use of const_cast within C++ code. More... | |
class | ProTypeCstyleCastCheck |
This check flags all use of C-style casts that perform a static_cast downcast, const_cast, or reinterpret_cast. More... | |
class | ProTypeMemberInitCheck |
Implements C++ Core Guidelines Type.6. More... | |
class | ProTypeReinterpretCastCheck |
Flags all occurrences of reinterpret_cast. More... | |
class | ProTypeStaticCastDowncastCheck |
Checks for usages of static_cast, where a base class is downcasted to a derived class. More... | |
class | ProTypeUnionAccessCheck |
This check flags all access to members of unions. More... | |
class | ProTypeVarargCheck |
This check flags all calls to c-style variadic functions and all use of va_arg. More... | |
class | RvalueReferenceParamNotMovedCheck |
Warns when an rvalue reference function parameter is never moved within the function body. More... | |
class | SlicingCheck |
Flags slicing (incomplete copying of an object's state) of member variables or vtable. More... | |
class | SpecialMemberFunctionsCheck |
Checks for classes where some, but not all, of the special member functions are defined. More... | |
class | VirtualClassDestructorCheck |
Finds base classes whose destructor is neither public and virtual nor protected and non-virtual. More... | |
Functions | |
static bool | isCopyConstructible (CXXRecordDecl const &Node) |
static bool | isMoveConstructible (CXXRecordDecl const &Node) |
static bool | isCopyAssignable (CXXRecordDecl const &Node) |
static bool | isMoveAssignable (CXXRecordDecl const &Node) |
static ClangTidyModuleRegistry::Add< CppCoreGuidelinesModule > | X ("cppcoreguidelines-module", "Adds checks for the C++ Core Guidelines.") |
static bool | isCapsOnly (StringRef Name) |
static SourceLocation | findDefaultCaptureEnd (const LambdaExpr *Lambda, ASTContext &Context) |
static std::string | createReplacementText (const LambdaExpr *Lambda) |
static const BuiltinType * | getBuiltinType (const Expr &E) |
static QualType | getUnqualifiedType (const Expr &E) |
static APValue | getConstantExprValue (const ASTContext &Ctx, const Expr &E) |
static bool | getIntegerConstantExprValue (const ASTContext &Context, const Expr &E, llvm::APSInt &Value) |
static bool | getFloatingConstantExprValue (const ASTContext &Context, const Expr &E, llvm::APFloat &Value) |
static IntegerRange | createFromType (const ASTContext &Context, const BuiltinType &T) |
static bool | isWideEnoughToHold (const ASTContext &Context, const BuiltinType &FromType, const BuiltinType &ToType) |
static bool | isWideEnoughToHold (const ASTContext &Context, const llvm::APSInt &IntegerConstant, const BuiltinType &ToType) |
static bool | isFloatExactlyRepresentable (const ASTContext &Context, const llvm::APFloat &FloatConstant, const QualType &DestType) |
static llvm::SmallString< 64 > | getValueAsString (const llvm::APSInt &Value, uint64_t HexBits) |
static bool | isControlStatement (const Stmt *S) |
static bool | isNoReturnCallStatement (const Stmt *S) |
static bool | canAdvanceAssignment (AssignedLevel Level) |
static void | updateAssignmentLevel (const FieldDecl *Field, const Expr *Init, const CXXConstructorDecl *Ctor, llvm::DenseMap< const FieldDecl *, AssignedLevel > &AssignedFields) |
static std::optional< AssignmentPair > | isAssignmentToMemberOf (const CXXRecordDecl *Rec, const Stmt *S, const CXXConstructorDecl *Ctor) |
static bool | hasConstQualifier (QualType Type) |
static bool | hasVolatileQualifier (QualType Type) |
static bool | needsConstCast (QualType SourceType, QualType DestType) |
static bool | isIncompleteOrZeroLengthArrayType (ASTContext &Context, QualType T) |
static bool | isEmpty (ASTContext &Context, const QualType &Type) |
static const char * | getInitializer (QualType QT, bool UseAssignment) |
static bool | hasSingleVariadicArgumentWithValue (const CallExpr *C, uint64_t I) |
static llvm::StringRef | toString (SpecialMemberFunctionsCheck::SpecialMemberFunctionKind K) |
static std::string | join (ArrayRef< SpecialMemberFunctionsCheck::SpecialMemberFunctionKind > SMFS, llvm::StringRef AndOr) |
AST_MATCHER (CXXRecordDecl, hasPublicVirtualOrProtectedNonVirtualDestructor) | |
static std::optional< CharSourceRange > | getVirtualKeywordRange (const CXXDestructorDecl &Destructor, const SourceManager &SM, const LangOptions &LangOpts) |
static const AccessSpecDecl * | getPublicASDecl (const CXXRecordDecl &StructOrClass) |
static FixItHint | generateUserDeclaredDestructor (const CXXRecordDecl &StructOrClass, const SourceManager &SourceManager) |
static std::string | getSourceText (const CXXDestructorDecl &Destructor) |
static std::string | eraseKeyword (std::string &DestructorString, const std::string &Keyword) |
static FixItHint | changePrivateDestructorVisibilityTo (const std::string &Visibility, const CXXDestructorDecl &Destructor, const SourceManager &SM, const LangOptions &LangOpts) |
Variables | |
const internal::VariadicDynCastAllOfMatcher< Stmt, VAArgExpr > | VAArgExpr |
static constexpr StringRef | AllowedVariadics [] |
static constexpr StringRef | VaArgWarningMessage |
clang::tidy::cppcoreguidelines::AST_MATCHER | ( | CXXRecordDecl | , |
hasPublicVirtualOrProtectedNonVirtualDestructor | |||
) |
Definition at line 21 of file VirtualClassDestructorCheck.cpp.
References Node.
|
static |
Definition at line 58 of file PreferMemberInitializerCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::PreferMemberInitializerCheck::check(), and updateAssignmentLevel().
|
static |
Semicolons ending an explicitly defaulted destructor have to be deleted. Otherwise, the left-over semicolon trails the private:
access specifier.
Definition at line 130 of file VirtualClassDestructorCheck.cpp.
References eraseKeyword(), clang::tidy::utils::lexer::findNextTerminator(), and getSourceText().
Referenced by clang::tidy::cppcoreguidelines::VirtualClassDestructorCheck::check().
|
static |
Definition at line 244 of file NarrowingConversionsCheck.cpp.
Referenced by isWideEnoughToHold().
|
static |
Definition at line 47 of file MisleadingCaptureDefaultByValueCheck.cpp.
References Name.
Referenced by clang::tidy::cppcoreguidelines::MisleadingCaptureDefaultByValueCheck::check().
|
static |
Definition at line 122 of file VirtualClassDestructorCheck.cpp.
Referenced by changePrivateDestructorVisibilityTo().
|
static |
Definition at line 31 of file MisleadingCaptureDefaultByValueCheck.cpp.
References clang::tidy::utils::lexer::findPreviousTokenKind().
Referenced by clang::tidy::cppcoreguidelines::MisleadingCaptureDefaultByValueCheck::check().
|
static |
Definition at line 87 of file VirtualClassDestructorCheck.cpp.
References getPublicASDecl(), and Loc.
Referenced by clang::tidy::cppcoreguidelines::VirtualClassDestructorCheck::check().
|
static |
Definition at line 190 of file NarrowingConversionsCheck.cpp.
References E.
|
static |
Definition at line 198 of file NarrowingConversionsCheck.cpp.
References E.
Referenced by getFloatingConstantExprValue(), and getIntegerConstantExprValue().
|
static |
Definition at line 216 of file NarrowingConversionsCheck.cpp.
References E, and getConstantExprValue().
|
static |
Definition at line 376 of file ProTypeMemberInitCheck.cpp.
|
static |
Definition at line 207 of file NarrowingConversionsCheck.cpp.
References E, and getConstantExprValue().
|
static |
Definition at line 73 of file VirtualClassDestructorCheck.cpp.
Referenced by generateUserDeclaredDestructor().
|
static |
Definition at line 115 of file VirtualClassDestructorCheck.cpp.
Referenced by changePrivateDestructorVisibilityTo().
|
static |
Definition at line 194 of file NarrowingConversionsCheck.cpp.
References E.
|
static |
Definition at line 303 of file NarrowingConversionsCheck.cpp.
|
static |
Range ends with StartOfNextToken
so that any whitespace after virtual
is included.
Definition at line 50 of file VirtualClassDestructorCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::VirtualClassDestructorCheck::check().
|
static |
Definition at line 17 of file ProTypeConstCastCheck.cpp.
References hasConstQualifier(), and Type.
Referenced by clang::tidy::cppcoreguidelines::ProTypeConstCastCheck::check(), and hasConstQualifier().
|
static |
Definition at line 157 of file ProTypeVarargCheck.cpp.
References C.
Referenced by clang::tidy::cppcoreguidelines::ProTypeVarargCheck::check().
|
static |
Definition at line 25 of file ProTypeConstCastCheck.cpp.
References hasVolatileQualifier(), and Type.
Referenced by clang::tidy::cppcoreguidelines::ProTypeConstCastCheck::check(), and hasVolatileQualifier().
|
static |
Definition at line 104 of file PreferMemberInitializerCheck.cpp.
References Field.
Referenced by clang::tidy::cppcoreguidelines::PreferMemberInitializerCheck::check().
|
static |
Definition at line 21 of file MacroUsageCheck.cpp.
|
static |
Definition at line 20 of file PreferMemberInitializerCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::PreferMemberInitializerCheck::check().
|
static |
Definition at line 53 of file AvoidConstOrRefDataMembersCheck.cpp.
References isCopyAssignable(), and Node.
Referenced by isCopyAssignable().
|
static |
Definition at line 17 of file AvoidConstOrRefDataMembersCheck.cpp.
References isCopyConstructible(), and Node.
Referenced by isCopyConstructible().
|
static |
Definition at line 369 of file ProTypeMemberInitCheck.cpp.
References isIncompleteOrZeroLengthArrayType(), and Type.
|
static |
Definition at line 290 of file NarrowingConversionsCheck.cpp.
|
static |
Definition at line 355 of file ProTypeMemberInitCheck.cpp.
Referenced by isEmpty().
|
static |
Definition at line 71 of file AvoidConstOrRefDataMembersCheck.cpp.
References isMoveAssignable(), and Node.
Referenced by isMoveAssignable().
|
static |
Definition at line 35 of file AvoidConstOrRefDataMembersCheck.cpp.
References isMoveConstructible(), and Node.
Referenced by isMoveConstructible().
|
static |
Definition at line 25 of file PreferMemberInitializerCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::PreferMemberInitializerCheck::check().
|
static |
Definition at line 272 of file NarrowingConversionsCheck.cpp.
References createFromType().
|
static |
Definition at line 280 of file NarrowingConversionsCheck.cpp.
References createFromType().
|
static |
Definition at line 95 of file SpecialMemberFunctionsCheck.cpp.
References toString().
|
static |
Definition at line 18 of file ProTypeCstyleCastCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::ProTypeCstyleCastCheck::check().
|
static |
Definition at line 72 of file SpecialMemberFunctionsCheck.cpp.
References clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::CopyAssignment, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::CopyConstructor, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::DefaultDestructor, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::Destructor, K, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::MoveAssignment, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::MoveConstructor, and clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::NonDefaultDestructor.
Referenced by clang::tidy::cppcoreguidelines::ProBoundsConstantArrayIndexCheck::check(), and join().
|
static |
Definition at line 67 of file PreferMemberInitializerCheck.cpp.
References canAdvanceAssignment(), and Field.
Referenced by clang::tidy::cppcoreguidelines::PreferMemberInitializerCheck::check().
|
static |
|
staticconstexpr |
Definition at line 25 of file ProTypeVarargCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::ProTypeVarargCheck::registerMatchers().
const internal::VariadicDynCastAllOfMatcher<Stmt, VAArgExpr> clang::tidy::cppcoreguidelines::VAArgExpr |
Definition at line 23 of file ProTypeVarargCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::ProTypeVarargCheck::registerMatchers().
|
staticconstexpr |
Definition at line 62 of file ProTypeVarargCheck.cpp.
Referenced by clang::tidy::cppcoreguidelines::ProTypeVarargCheck::check().