clang-tools 8.0.0

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 | 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< CppCoreGuidelinesModule > | X ("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 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 120 of file NarrowingConversionsCheck.cpp.

Referenced by isWideEnoughToHold().

## ◆ getBuiltinType()

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

Definition at line 65 of file NarrowingConversionsCheck.cpp.

Referenced by getValueAsString().

## ◆ getConstantExprValue()

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

Definition at line 73 of file NarrowingConversionsCheck.cpp.

Referenced by getFloatingConstantExprValue(), getIntegerConstantExprValue(), and getValueAsString().

## ◆ getFloatingConstantExprValue()

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

Definition at line 92 of file NarrowingConversionsCheck.cpp.

References getConstantExprValue(), Lower, and Upper.

Referenced by getValueAsString().

## ◆ getIntegerConstantExprValue()

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

Definition at line 83 of file NarrowingConversionsCheck.cpp.

References getConstantExprValue().

Referenced by getValueAsString().

## ◆ getUnqualifiedType()

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

Definition at line 69 of file NarrowingConversionsCheck.cpp.

Referenced by getValueAsString().

## ◆ getValueAsString()

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

Definition at line 163 of file NarrowingConversionsCheck.cpp.

References clang::tidy::ClangTidyCheck::diag(), getBuiltinType(), getConstantExprValue(), getFloatingConstantExprValue(), getIntegerConstantExprValue(), getUnqualifiedType(), isWideEnoughToHold(), and Result.

## ◆ hasSingleVariadicArgumentWithValue()

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

Definition at line 32 of file ProTypeVarargCheck.cpp.

Referenced by clang::tidy::cppcoreguidelines::ProTypeVarargCheck::check().

## ◆ isEmpty()

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

Definition at line 335 of file ProTypeMemberInitCheck.cpp.

References clang::tidy::ClangTidyCheck::diag(), clang::tidy::ClangTidyCheck::getLangOpts(), isIncompleteOrZeroLengthArrayType(), and clang::tidy::utils::type_traits::isTriviallyDefaultConstructible().

## ◆ isIncompleteOrZeroLengthArrayType()

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

Definition at line 321 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 148 of file NarrowingConversionsCheck.cpp.

References createFromType().

Referenced by getValueAsString().

## ◆ isWideEnoughToHold() [2/2]

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

Definition at line 156 of file NarrowingConversionsCheck.cpp.

References createFromType().

## ◆ join()

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

Definition at line 82 of file SpecialMemberFunctionsCheck.cpp.

References toString().

Referenced by clang::tidy::readability::IsolateDeclarationCheck::check(), rename_check::deleteMatchingLines(), rename_check::generateCommentLineHeader(), rename_check::generateCommentLineSource(), clang-tidy-diff::main(), clang-include-fixer::main(), run-clang-tidy::main(), rename_check::main(), add_new_check::main(), run-find-all-symbols::run_find_all_symbols(), run-clang-tidy::run_tidy(), clang::clangd::scopeToPath(), and clang::tidy::utils::options::serializeStringList().

## ◆ needsConstCast()

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

Definition at line 21 of file ProTypeCstyleCastCheck.cpp.

Referenced by clang::tidy::cppcoreguidelines::ProTypeCstyleCastCheck::check().

## ◆ toString()

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

Definition at line 59 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, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::MoveAssignment, clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::MoveConstructor, and clang::tidy::cppcoreguidelines::SpecialMemberFunctionsCheck::NonDefaultDestructor.

Referenced by clang::clangd::URI::createFile(), join(), main(), clang::clangd::readIndexFile(), and clang::clangd::xpcToJson().

## ◆ 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 20 of file ProTypeVarargCheck.cpp.