xref: /openbmc/bmcweb/.clang-tidy (revision 0f83707d)
1Checks: '
2-*,
3boost-use-to-string,
4bugprone-argument-comment,
5bugprone-assert-side-effect,
6bugprone-assignment-in-if-condition,
7bugprone-bad-signal-to-kill-thread,
8bugprone-bool-pointer-implicit-conversion,
9bugprone-branch-clone,
10bugprone-copy-constructor-init,
11bugprone-dangling-handle,
12bugprone-dynamic-static-initializers,
13bugprone-exception-escape,
14bugprone-fold-init-type,
15bugprone-forward-declaration-namespace,
16bugprone-forwarding-reference-overload,
17bugprone-implicit-widening-of-multiplication-result,
18bugprone-inaccurate-erase,
19bugprone-incorrect-roundings,
20bugprone-infinite-loop,
21bugprone-integer-division,
22bugprone-lambda-function-name,
23bugprone-macro-parentheses,
24bugprone-macro-repeated-side-effects,
25bugprone-misplaced-operator-in-strlen-in-alloc,
26bugprone-misplaced-pointer-arithmetic-in-alloc,
27bugprone-misplaced-widening-cast,
28bugprone-move-forwarding-reference,
29bugprone-multiple-statement-macro,
30bugprone-narrowing-conversions,
31bugprone-no-escape,
32bugprone-not-null-terminated-result,
33bugprone-parent-virtual-call,
34bugprone-posix-return,
35bugprone-redundant-branch-condition,
36bugprone-reserved-identifier,
37bugprone-shared-ptr-array-mismatch,
38bugprone-signal-handler,
39bugprone-signed-char-misuse,
40bugprone-sizeof-container,
41bugprone-sizeof-expression,
42bugprone-spuriously-wake-up-functions,
43bugprone-standalone-empty,
44bugprone-string-constructor,
45bugprone-string-integer-assignment,
46bugprone-string-literal-with-embedded-nul,
47bugprone-stringview-nullptr,
48bugprone-suspicious-enum-usage,
49bugprone-suspicious-include,
50bugprone-suspicious-memory-comparison,
51bugprone-suspicious-memset-usage,
52bugprone-suspicious-missing-comma,
53bugprone-suspicious-realloc-usage,
54bugprone-suspicious-semicolon,
55bugprone-suspicious-string-compare,
56bugprone-swapped-arguments,
57bugprone-terminating-continue,
58bugprone-throw-keyword-missing,
59bugprone-too-small-loop-variable,
60bugprone-undefined-memory-manipulation,
61bugprone-undelegated-constructor,
62bugprone-unhandled-exception-at-new,
63bugprone-unhandled-self-assignment,
64bugprone-unused-raii,
65bugprone-unused-return-value,
66bugprone-use-after-move,
67bugprone-virtual-near-miss,
68cert-con36-c,
69cert-con54-cpp,
70cert-dcl03-c,
71cert-dcl16-c,
72cert-dcl21-cpp,
73cert-dcl37-c,
74cert-dcl50-cpp,
75cert-dcl51-cpp,
76cert-dcl54-cpp,
77cert-dcl58-cpp,
78cert-dcl59-cpp,
79cert-env33-c,
80cert-err09-cpp,
81cert-err34-c,
82cert-err52-cpp,
83cert-err60-cpp,
84cert-err61-cpp,
85cert-fio38-c,
86cert-flp30-c,
87cert-mem57-cpp,
88cert-msc30-c,
89cert-msc32-c,
90cert-msc50-cpp,
91cert-msc51-cpp,
92cert-oop11-cpp,
93cert-oop54-cpp,
94cert-oop57-cpp,
95cert-oop58-cpp,
96cert-pos44-c,
97cert-pos47-c,
98cert-sig30-c,
99cert-str34-c,
100clang-analyzer-apiModeling.StdCLibraryFunctions,
101clang-analyzer-apiModeling.TrustNonnull,
102clang-analyzer-apiModeling.google.GTest,
103clang-analyzer-apiModeling.llvm.CastValue,
104clang-analyzer-apiModeling.llvm.ReturnValue,
105clang-analyzer-core.CallAndMessage,
106clang-analyzer-core.CallAndMessageModeling,
107clang-analyzer-core.DivideZero,
108clang-analyzer-core.DynamicTypePropagation,
109clang-analyzer-core.NonNullParamChecker,
110clang-analyzer-core.NonnilStringConstants,
111clang-analyzer-core.NullDereference,
112clang-analyzer-core.StackAddrEscapeBase,
113clang-analyzer-core.StackAddressEscape,
114clang-analyzer-core.UndefinedBinaryOperatorResult,
115clang-analyzer-core.VLASize,
116clang-analyzer-core.builtin.BuiltinFunctions,
117clang-analyzer-core.builtin.NoReturnFunctions,
118clang-analyzer-core.uninitialized.ArraySubscript,
119clang-analyzer-core.uninitialized.Assign,
120clang-analyzer-core.uninitialized.Branch,
121clang-analyzer-core.uninitialized.CapturedBlockVariable,
122clang-analyzer-core.uninitialized.UndefReturn,
123clang-analyzer-cplusplus.InnerPointer,
124clang-analyzer-cplusplus.Move,
125clang-analyzer-cplusplus.NewDelete,
126clang-analyzer-cplusplus.NewDeleteLeaks,
127clang-analyzer-cplusplus.PlacementNew,
128clang-analyzer-cplusplus.PureVirtualCall,
129clang-analyzer-cplusplus.SelfAssignment,
130clang-analyzer-cplusplus.SmartPtrModeling,
131clang-analyzer-cplusplus.VirtualCallModeling,
132clang-analyzer-deadcode.DeadStores,
133clang-analyzer-fuchsia.HandleChecker,
134clang-analyzer-nullability.NullPassedToNonnull,
135clang-analyzer-nullability.NullReturnedFromNonnull,
136clang-analyzer-nullability.NullabilityBase,
137clang-analyzer-nullability.NullableDereferenced,
138clang-analyzer-nullability.NullablePassedToNonnull,
139clang-analyzer-nullability.NullableReturnedFromNonnull,
140clang-analyzer-optin.cplusplus.UninitializedObject,
141clang-analyzer-optin.cplusplus.VirtualCall,
142clang-analyzer-optin.mpi.MPI-Checker,
143clang-analyzer-optin.osx.OSObjectCStyleCast,
144clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker,
145clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker,
146clang-analyzer-optin.performance.GCDAntipattern,
147clang-analyzer-optin.performance.Padding,
148clang-analyzer-optin.portability.UnixAPI,
149clang-analyzer-osx.API,
150clang-analyzer-osx.MIG,
151clang-analyzer-osx.NSOrCFErrorDerefChecker,
152clang-analyzer-osx.NumberObjectConversion,
153clang-analyzer-osx.OSObjectRetainCount,
154clang-analyzer-osx.ObjCProperty,
155clang-analyzer-osx.SecKeychainAPI,
156clang-analyzer-osx.cocoa.AtSync,
157clang-analyzer-osx.cocoa.AutoreleaseWrite,
158clang-analyzer-osx.cocoa.ClassRelease,
159clang-analyzer-osx.cocoa.Dealloc,
160clang-analyzer-osx.cocoa.IncompatibleMethodTypes,
161clang-analyzer-osx.cocoa.Loops,
162clang-analyzer-osx.cocoa.MissingSuperCall,
163clang-analyzer-osx.cocoa.NSAutoreleasePool,
164clang-analyzer-osx.cocoa.NSError,
165clang-analyzer-osx.cocoa.NilArg,
166clang-analyzer-osx.cocoa.NonNilReturnValue,
167clang-analyzer-osx.cocoa.ObjCGenerics,
168clang-analyzer-osx.cocoa.RetainCount,
169clang-analyzer-osx.cocoa.RetainCountBase,
170clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak,
171clang-analyzer-osx.cocoa.SelfInit,
172clang-analyzer-osx.cocoa.SuperDealloc,
173clang-analyzer-osx.cocoa.UnusedIvars,
174clang-analyzer-osx.cocoa.VariadicMethodTypes,
175clang-analyzer-osx.coreFoundation.CFError,
176clang-analyzer-osx.coreFoundation.CFNumber,
177clang-analyzer-osx.coreFoundation.CFRetainRelease,
178clang-analyzer-osx.coreFoundation.containers.OutOfBounds,
179clang-analyzer-osx.coreFoundation.containers.PointerSizedValues,
180clang-analyzer-security.FloatLoopCounter,
181clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
182clang-analyzer-security.insecureAPI.SecuritySyntaxChecker,
183clang-analyzer-security.insecureAPI.UncheckedReturn,
184clang-analyzer-security.insecureAPI.bcmp,
185clang-analyzer-security.insecureAPI.bcopy,
186clang-analyzer-security.insecureAPI.bzero,
187clang-analyzer-security.insecureAPI.decodeValueOfObjCType,
188clang-analyzer-security.insecureAPI.getpw,
189clang-analyzer-security.insecureAPI.gets,
190clang-analyzer-security.insecureAPI.mkstemp,
191clang-analyzer-security.insecureAPI.mktemp,
192clang-analyzer-security.insecureAPI.rand,
193clang-analyzer-security.insecureAPI.strcpy,
194clang-analyzer-security.insecureAPI.vfork,
195clang-analyzer-unix.API,
196clang-analyzer-unix.DynamicMemoryModeling,
197clang-analyzer-unix.Malloc,
198clang-analyzer-unix.MallocSizeof,
199clang-analyzer-unix.MismatchedDeallocator,
200clang-analyzer-unix.Vfork,
201clang-analyzer-unix.cstring.BadSizeArg,
202clang-analyzer-unix.cstring.CStringModeling,
203clang-analyzer-unix.cstring.NullArg,
204clang-analyzer-valist.CopyToSelf,
205clang-analyzer-valist.Uninitialized,
206clang-analyzer-valist.Unterminated,
207clang-analyzer-valist.ValistBase,
208clang-analyzer-webkit.NoUncountedMemberChecker,
209clang-analyzer-webkit.RefCntblBaseVirtualDtor,
210cppcoreguidelines-avoid-c-arrays,
211cppcoreguidelines-avoid-goto,
212cppcoreguidelines-avoid-non-const-global-variables,
213cppcoreguidelines-c-copy-assignment-signature,
214cppcoreguidelines-explicit-virtual-functions,
215cppcoreguidelines-init-variables,
216cppcoreguidelines-interfaces-global-init,
217cppcoreguidelines-macro-usage,
218cppcoreguidelines-narrowing-conversions,
219cppcoreguidelines-no-malloc,
220cppcoreguidelines-prefer-member-initializer,
221cppcoreguidelines-pro-bounds-array-to-pointer-decay,
222cppcoreguidelines-pro-bounds-pointer-arithmetic,
223cppcoreguidelines-pro-type-const-cast,
224cppcoreguidelines-pro-type-cstyle-cast,
225cppcoreguidelines-pro-type-member-init,
226cppcoreguidelines-pro-type-reinterpret-cast,
227cppcoreguidelines-pro-type-static-cast-downcast,
228cppcoreguidelines-pro-type-union-access,
229cppcoreguidelines-pro-type-vararg,
230cppcoreguidelines-slicing,
231cppcoreguidelines-special-member-functions,
232google-explicit-constructor,
233misc-misplaced-const,
234#misc-no-recursion,
235misc-redundant-expression,
236misc-static-assert,
237misc-throw-by-value-catch-by-reference,
238misc-unconventional-assign-operator,
239misc-uniqueptr-reset-release,
240misc-unused-using-decls,
241modernize-avoid-bind,
242modernize-deprecated-headers,
243modernize-deprecated-ios-base-aliases,
244modernize-loop-convert,
245modernize-make-shared,
246modernize-make-unique,
247modernize-raw-string-literal,
248modernize-redundant-void-arg,
249modernize-replace-auto-ptr,
250modernize-replace-random-shuffle,
251modernize-return-braced-init-list,
252modernize-shrink-to-fit,
253modernize-unary-static-assert,
254modernize-use-bool-literals,
255modernize-use-default-member-init,
256modernize-use-emplace,
257modernize-use-equals-default,
258modernize-use-equals-delete,
259modernize-use-noexcept,
260modernize-use-nullptr,
261modernize-use-override,
262modernize-use-transparent-functors,
263modernize-use-uncaught-exceptions,
264modernize-use-using,
265performance-faster-string-find,
266performance-for-range-copy,
267performance-implicit-conversion-in-loop,
268performance-inefficient-algorithm,
269performance-inefficient-string-concatenation,
270performance-inefficient-vector-operation,
271performance-move-const-arg,
272performance-move-constructor-init,
273performance-no-automatic-move,
274performance-no-int-to-ptr,
275performance-noexcept-move-constructor,
276performance-trivially-destructible,
277performance-type-promotion-in-math-fn,
278performance-unnecessary-copy-initialization,
279performance-unnecessary-value-param,
280readability-avoid-const-params-in-decls,
281readability-braces-around-statements,
282readability-const-return-type,
283readability-container-data-pointer,
284readability-container-size-empty,
285readability-convert-member-functions-to-static,
286readability-delete-null-pointer,
287readability-deleted-default,
288readability-else-after-return,
289readability-function-size,
290readability-identifier-naming,
291readability-implicit-bool-conversion,
292readability-inconsistent-declaration-parameter-name,
293readability-isolate-declaration,
294readability-make-member-function-const,
295readability-misleading-indentation,
296readability-misplaced-array-index,
297readability-named-parameter,
298readability-non-const-parameter,
299readability-qualified-auto,
300readability-redundant-access-specifiers,
301readability-redundant-control-flow,
302readability-redundant-declaration,
303readability-redundant-function-ptr-dereference,
304readability-redundant-member-init,
305readability-redundant-preprocessor,
306readability-redundant-smartptr-get,
307readability-redundant-string-cstr,
308readability-redundant-string-init,
309readability-simplify-boolean-expr,
310readability-simplify-subscript-expr,
311readability-static-accessed-through-instance,
312readability-static-definition-in-anonymous-namespace,
313readability-string-compare,
314readability-suspicious-call-argument,
315readability-uniqueptr-delete-release,
316readability-uppercase-literal-suffix'
317
318WarningsAsErrors: '*'
319HeaderFilterRegex: '.*'
320CheckOptions:
321  - { key: readability-identifier-naming.ClassCase,     value: CamelCase  }
322  - { key: readability-identifier-naming.VariableCase,  value: camelBack }
323  - { key: readability-identifier-naming.FunctionCase,  value: camelBack }
324  - { key: readability-identifier-naming.ParameterCase, value: camelBack }
325  - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
326  - { key: readability-identifier-naming.StructCase,    value: CamelCase  }
327  - { key: cppcoreguidelines-macro-usage.AllowedRegexp, value: DEBUG*|NLOHMANN_JSON_SERIALIZE_ENUM }
328  - { key: performance-unnecessary-value-param.AllowedTypes, value: ((segments_view)|(url_view)) }
329