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