51 "hicpp-avoid-c-arrays");
55 "hicpp-braces-around-statements");
57 "hicpp-deprecated-headers");
59 "hicpp-exception-baseclass");
61 "hicpp-ignored-remove-result");
63 "hicpp-multiway-paths-covered");
66 "hicpp-explicit-conversions");
68 "hicpp-function-size");
70 "hicpp-named-parameter");
72 "hicpp-invalid-access-moved");
76 "hicpp-move-const-arg");
78 "hicpp-new-delete-operators");
80 "hicpp-noexcept-move");
83 "hicpp-no-array-decay");
85 "hicpp-no-assembler");
90 "hicpp-special-member-functions");
92 "hicpp-static-assert");
95 "hicpp-undelegated-constructor");
99 "hicpp-use-equals-default");
101 "hicpp-use-equals-delete");
103 "hicpp-use-noexcept");
105 "hicpp-use-nullptr");
107 "hicpp-use-override");
109 "hicpp-uppercase-literal-suffix");
117 Opts[
"hicpp-ignored-remove-result.CheckedFunctions"] =
118 "^::std::remove$;^::std::remove_if$;^::std::unique$";
119 Opts[
"hicpp-ignored-remove-result.CheckedReturnTypes"] =
"";
120 Opts[
"hicpp-ignored-remove-result.AllowCastToVoid"] =
"true";
128static ClangTidyModuleRegistry::Add<HICPPModule>
129 X(
"hicpp-module",
"Adds High-Integrity C++ checks.");
A collection of ClangTidyCheckFactory instances.
void registerCheck(StringRef CheckName)
Registers the CheckType with the name Name.
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
Check for thrown exceptions and enforce they are all derived from std::exception.
Finds creation of temporary objects in constructors that look like a function call to another constru...
Detects function calls where the return value is unused.
The check warns if an object is used after it has been moved, without an intervening reinitialization...
The usage of goto for control flow is error prone and should be replaced with looping constructs.
This checker is concerned with C-style memory management and suggest modern alternatives to it.
This check flags all array to pointer decays.
Implements C++ Core Guidelines Type.6.
This check flags all calls to c-style variadic functions and all use of va_arg.
Checks for classes where some, but not all, of the special member functions are defined.
Checks that all single-argument constructors are explicit.
Find occasions where not all codepaths are explicitly covered in code.
This check implements the rule 5.6.1 of the HICPP Standard, which disallows bitwise operations on sig...
Replaces assert() with static_assert() if the condition is evaluatable at compile time.
Find C-style array types and recommend to use std::array<> / std::vector<>.
This check looks for cases when inserting new element into std::vector but the element is constructed...
Replace default bodies of special member functions with '= default;'.
Identifies unimplemented private special member functions, and recommends using = delete for them.
Replace dynamic exception specifications, with noexcept (or user-defined macro) or noexcept(false).
Use C++11's override and remove virtual where applicable.
Find assembler statements.
Checks that bodies of if statements and loops (for, range-for, do-while, and while) are inside braces...
Checks for large functions based on various metrics.
Find functions with unnamed arguments.
Detects when the integral literal or floating point literal has non-uppercase suffix,...
static ClangTidyModuleRegistry::Add< HICPPModule > X("hicpp-module", "Adds High-Integrity C++ checks.")
volatile int HICPPModuleAnchorSource
Contains options for clang-tidy.
OptionMap CheckOptions
Key-value mapping used to store check-specific options.
llvm::StringMap< ClangTidyValue > OptionMap