59class CppCoreGuidelinesModule :
public ClangTidyModule {
61 void addCheckFactories(ClangTidyCheckFactories &CheckFactories)
override {
62 CheckFactories.registerCheck<AvoidCapturingLambdaCoroutinesCheck>(
63 "cppcoreguidelines-avoid-capturing-lambda-coroutines");
64 CheckFactories.registerCheck<modernize::AvoidCArraysCheck>(
65 "cppcoreguidelines-avoid-c-arrays");
66 CheckFactories.registerCheck<AvoidConstOrRefDataMembersCheck>(
67 "cppcoreguidelines-avoid-const-or-ref-data-members");
68 CheckFactories.registerCheck<AvoidDoWhileCheck>(
69 "cppcoreguidelines-avoid-do-while");
70 CheckFactories.registerCheck<AvoidGotoCheck>(
71 "cppcoreguidelines-avoid-goto");
72 CheckFactories.registerCheck<readability::MagicNumbersCheck>(
73 "cppcoreguidelines-avoid-magic-numbers");
74 CheckFactories.registerCheck<AvoidNonConstGlobalVariablesCheck>(
75 "cppcoreguidelines-avoid-non-const-global-variables");
76 CheckFactories.registerCheck<AvoidReferenceCoroutineParametersCheck>(
77 "cppcoreguidelines-avoid-reference-coroutine-parameters");
78 CheckFactories.registerCheck<modernize::UseOverrideCheck>(
79 "cppcoreguidelines-explicit-virtual-functions");
80 CheckFactories.registerCheck<InitVariablesCheck>(
81 "cppcoreguidelines-init-variables");
82 CheckFactories.registerCheck<InterfacesGlobalInitCheck>(
83 "cppcoreguidelines-interfaces-global-init");
84 CheckFactories.registerCheck<modernize::MacroToEnumCheck>(
85 "cppcoreguidelines-macro-to-enum");
86 CheckFactories.registerCheck<MacroUsageCheck>(
87 "cppcoreguidelines-macro-usage");
88 CheckFactories.registerCheck<MisleadingCaptureDefaultByValueCheck>(
89 "cppcoreguidelines-misleading-capture-default-by-value");
90 CheckFactories.registerCheck<MissingStdForwardCheck>(
91 "cppcoreguidelines-missing-std-forward");
92 CheckFactories.registerCheck<bugprone::NarrowingConversionsCheck>(
93 "cppcoreguidelines-narrowing-conversions");
94 CheckFactories.registerCheck<NoMallocCheck>(
"cppcoreguidelines-no-malloc");
95 CheckFactories.registerCheck<NoSuspendWithLockCheck>(
96 "cppcoreguidelines-no-suspend-with-lock");
97 CheckFactories.registerCheck<performance::NoexceptDestructorCheck>(
98 "cppcoreguidelines-noexcept-destructor");
99 CheckFactories.registerCheck<performance::NoexceptMoveConstructorCheck>(
100 "cppcoreguidelines-noexcept-move-operations");
101 CheckFactories.registerCheck<performance::NoexceptSwapCheck>(
102 "cppcoreguidelines-noexcept-swap");
103 CheckFactories.registerCheck<misc::NonPrivateMemberVariablesInClassesCheck>(
104 "cppcoreguidelines-non-private-member-variables-in-classes");
105 CheckFactories.registerCheck<OwningMemoryCheck>(
106 "cppcoreguidelines-owning-memory");
107 CheckFactories.registerCheck<PreferMemberInitializerCheck>(
108 "cppcoreguidelines-prefer-member-initializer");
109 CheckFactories.registerCheck<ProBoundsArrayToPointerDecayCheck>(
110 "cppcoreguidelines-pro-bounds-array-to-pointer-decay");
111 CheckFactories.registerCheck<ProBoundsAvoidUncheckedContainerAccessCheck>(
112 "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access");
113 CheckFactories.registerCheck<ProBoundsConstantArrayIndexCheck>(
114 "cppcoreguidelines-pro-bounds-constant-array-index");
115 CheckFactories.registerCheck<ProBoundsPointerArithmeticCheck>(
116 "cppcoreguidelines-pro-bounds-pointer-arithmetic");
117 CheckFactories.registerCheck<ProTypeConstCastCheck>(
118 "cppcoreguidelines-pro-type-const-cast");
119 CheckFactories.registerCheck<ProTypeCstyleCastCheck>(
120 "cppcoreguidelines-pro-type-cstyle-cast");
121 CheckFactories.registerCheck<ProTypeMemberInitCheck>(
122 "cppcoreguidelines-pro-type-member-init");
123 CheckFactories.registerCheck<ProTypeReinterpretCastCheck>(
124 "cppcoreguidelines-pro-type-reinterpret-cast");
125 CheckFactories.registerCheck<ProTypeStaticCastDowncastCheck>(
126 "cppcoreguidelines-pro-type-static-cast-downcast");
127 CheckFactories.registerCheck<ProTypeUnionAccessCheck>(
128 "cppcoreguidelines-pro-type-union-access");
129 CheckFactories.registerCheck<ProTypeVarargCheck>(
130 "cppcoreguidelines-pro-type-vararg");
131 CheckFactories.registerCheck<RvalueReferenceParamNotMovedCheck>(
132 "cppcoreguidelines-rvalue-reference-param-not-moved");
133 CheckFactories.registerCheck<SpecialMemberFunctionsCheck>(
134 "cppcoreguidelines-special-member-functions");
135 CheckFactories.registerCheck<SlicingCheck>(
"cppcoreguidelines-slicing");
136 CheckFactories.registerCheck<modernize::UseDefaultMemberInitCheck>(
137 "cppcoreguidelines-use-default-member-init");
138 CheckFactories.registerCheck<UseEnumClassCheck>(
139 "cppcoreguidelines-use-enum-class");
140 CheckFactories.registerCheck<misc::UnconventionalAssignOperatorCheck>(
141 "cppcoreguidelines-c-copy-assignment-signature");
142 CheckFactories.registerCheck<VirtualClassDestructorCheck>(
143 "cppcoreguidelines-virtual-class-destructor");
146 ClangTidyOptions getModuleOptions()
override {
147 ClangTidyOptions Options;
150 Opts[
"cppcoreguidelines-non-private-member-variables-in-classes."
151 "IgnoreClassesWithAllMemberVariablesBeingPublic"] =
"true";
160static ClangTidyModuleRegistry::Add<CppCoreGuidelinesModule>
161 X(
"cppcoreguidelines-module",
"Adds checks for the C++ Core Guidelines.");
static ClangTidyModuleRegistry::Add< CppCoreGuidelinesModule > X("cppcoreguidelines-module", "Adds checks for the C++ Core Guidelines.")
volatile int CppCoreGuidelinesModuleAnchorSource
OptionMap CheckOptions
Key-value mapping used to store check-specific options.
llvm::StringMap< ClangTidyValue > OptionMap