clang-tools  10.0.0svn
Classes | Functions | Variables
clang::tidy::cppcoreguidelines Namespace Reference

Classes

class  AvoidGotoCheck
 The usage of goto for control flow is error prone and should be replaced with looping constructs. 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  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  OwningMemoryCheck
 Checks for common use cases for gsl::owner and enforces the unique owner nature of it whenever possible. 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
 This check flags all instances of const_cast. 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  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...
 

Functions

static ClangTidyModuleRegistry::Add< CppCoreGuidelinesModuleX ("cppcoreguidelines-module", "Adds checks for the C++ Core Guidelines.")
 
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 llvm::SmallString< 64 > getValueAsString (const llvm::APSInt &Value, uint64_t HexBits)
 
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)
 

Variables

const internal::VariadicDynCastAllOfMatcher< Stmt, VAArgExpr > vAArgExpr
 

Function Documentation

◆ createFromType()

static IntegerRange clang::tidy::cppcoreguidelines::createFromType ( const ASTContext &  Context,
const BuiltinType &  T 
)
static

Definition at line 119 of file NarrowingConversionsCheck.cpp.

Referenced by isWideEnoughToHold().

◆ getBuiltinType()

static const BuiltinType* clang::tidy::cppcoreguidelines::getBuiltinType ( const Expr &  E)
static

Definition at line 64 of file NarrowingConversionsCheck.cpp.

◆ getConstantExprValue()

static APValue clang::tidy::cppcoreguidelines::getConstantExprValue ( const ASTContext &  Ctx,
const Expr &  E 
)
static

Definition at line 72 of file NarrowingConversionsCheck.cpp.

◆ getFloatingConstantExprValue()

static bool clang::tidy::cppcoreguidelines::getFloatingConstantExprValue ( const ASTContext &  Context,
const Expr &  E,
llvm::APFloat &  Value 
)
static

Definition at line 91 of file NarrowingConversionsCheck.cpp.

◆ getInitializer()

static const char* clang::tidy::cppcoreguidelines::getInitializer ( QualType  QT,
bool  UseAssignment 
)
static

Definition at line 343 of file ProTypeMemberInitCheck.cpp.

◆ getIntegerConstantExprValue()

static bool clang::tidy::cppcoreguidelines::getIntegerConstantExprValue ( const ASTContext &  Context,
const Expr &  E,
llvm::APSInt &  Value 
)
static

Definition at line 82 of file NarrowingConversionsCheck.cpp.

◆ getUnqualifiedType()

static QualType clang::tidy::cppcoreguidelines::getUnqualifiedType ( const Expr &  E)
static

Definition at line 68 of file NarrowingConversionsCheck.cpp.

◆ getValueAsString()

static llvm::SmallString<64> clang::tidy::cppcoreguidelines::getValueAsString ( const llvm::APSInt &  Value,
uint64_t  HexBits 
)
static

Definition at line 162 of file NarrowingConversionsCheck.cpp.

◆ hasSingleVariadicArgumentWithValue()

static bool clang::tidy::cppcoreguidelines::hasSingleVariadicArgumentWithValue ( const CallExpr *  C,
uint64_t  I 
)
static

Definition at line 31 of file ProTypeVarargCheck.cpp.

◆ isEmpty()

static bool clang::tidy::cppcoreguidelines::isEmpty ( ASTContext &  Context,
const QualType &  Type 
)
static

Definition at line 336 of file ProTypeMemberInitCheck.cpp.

References isIncompleteOrZeroLengthArrayType().

◆ isIncompleteOrZeroLengthArrayType()

static bool clang::tidy::cppcoreguidelines::isIncompleteOrZeroLengthArrayType ( ASTContext &  Context,
QualType  T 
)
static

Definition at line 322 of file ProTypeMemberInitCheck.cpp.

Referenced by isEmpty().

◆ isWideEnoughToHold() [1/2]

static bool clang::tidy::cppcoreguidelines::isWideEnoughToHold ( const ASTContext &  Context,
const BuiltinType &  FromType,
const BuiltinType &  ToType 
)
static

Definition at line 147 of file NarrowingConversionsCheck.cpp.

References createFromType().

◆ isWideEnoughToHold() [2/2]

static bool clang::tidy::cppcoreguidelines::isWideEnoughToHold ( const ASTContext &  Context,
const llvm::APSInt &  IntegerConstant,
const BuiltinType &  ToType 
)
static

Definition at line 155 of file NarrowingConversionsCheck.cpp.

References createFromType().

◆ join()

static std::string clang::tidy::cppcoreguidelines::join ( ArrayRef< SpecialMemberFunctionsCheck::SpecialMemberFunctionKind SMFS,
llvm::StringRef  AndOr 
)
static

◆ needsConstCast()

static bool clang::tidy::cppcoreguidelines::needsConstCast ( QualType  SourceType,
QualType  DestType 
)
static

Definition at line 20 of file ProTypeCstyleCastCheck.cpp.

◆ toString()

static llvm::StringRef clang::tidy::cppcoreguidelines::toString ( SpecialMemberFunctionsCheck::SpecialMemberFunctionKind  K)
static

◆ X()

static ClangTidyModuleRegistry::Add<CppCoreGuidelinesModule> clang::tidy::cppcoreguidelines::X ( "cppcoreguidelines-module"  ,
"Adds checks for the C++ Core Guidelines."   
)
static

Variable Documentation

◆ vAArgExpr

const internal::VariadicDynCastAllOfMatcher<Stmt, VAArgExpr> clang::tidy::cppcoreguidelines::vAArgExpr

Definition at line 19 of file ProTypeVarargCheck.cpp.