blob: 4862d2c1fe2a6bcbb3d8d9c28c4d64b71c535e26 [file] [log] [blame]
Ed Tanous3174e4d2020-10-07 11:41:22 -07001Checks: '
2-*,
Ed Tanousd63c72e2022-01-06 12:49:12 -08003boost-use-to-string,
Ed Tanousf23b7292020-10-15 09:41:17 -07004bugprone-argument-comment,
5bugprone-assert-side-effect,
Ed Tanousd5736ef2023-07-06 10:37:23 -07006bugprone-assignment-in-if-condition,
Ed Tanousf23b7292020-10-15 09:41:17 -07007bugprone-bad-signal-to-kill-thread,
8bugprone-bool-pointer-implicit-conversion,
9bugprone-branch-clone,
10bugprone-copy-constructor-init,
11bugprone-dangling-handle,
12bugprone-dynamic-static-initializers,
Ed Tanousd5736ef2023-07-06 10:37:23 -070013bugprone-exception-escape,
Ed Tanousf23b7292020-10-15 09:41:17 -070014bugprone-fold-init-type,
15bugprone-forward-declaration-namespace,
16bugprone-forwarding-reference-overload,
Ed Tanous6de264c2022-01-06 12:47:59 -080017bugprone-implicit-widening-of-multiplication-result,
Ed Tanousf23b7292020-10-15 09:41:17 -070018bugprone-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,
Ed Tanousf94c4ec2022-01-06 12:44:41 -080028bugprone-move-forwarding-reference,
Ed Tanousf79ce6a2024-03-20 12:27:06 -070029bugprone-multi-level-implicit-pointer-conversion,
Ed Tanousf23b7292020-10-15 09:41:17 -070030bugprone-multiple-statement-macro,
31bugprone-narrowing-conversions,
32bugprone-no-escape,
33bugprone-not-null-terminated-result,
34bugprone-parent-virtual-call,
35bugprone-posix-return,
Ed Tanousd63c72e2022-01-06 12:49:12 -080036bugprone-redundant-branch-condition,
Ed Tanousf23b7292020-10-15 09:41:17 -070037bugprone-reserved-identifier,
Ed Tanousd5736ef2023-07-06 10:37:23 -070038bugprone-shared-ptr-array-mismatch,
Ed Tanousd63c72e2022-01-06 12:49:12 -080039bugprone-signal-handler,
Ed Tanousf23b7292020-10-15 09:41:17 -070040bugprone-signed-char-misuse,
41bugprone-sizeof-container,
42bugprone-sizeof-expression,
43bugprone-spuriously-wake-up-functions,
Ed Tanousd5736ef2023-07-06 10:37:23 -070044bugprone-standalone-empty,
Ed Tanousf23b7292020-10-15 09:41:17 -070045bugprone-string-constructor,
46bugprone-string-integer-assignment,
47bugprone-string-literal-with-embedded-nul,
Ed Tanousd5736ef2023-07-06 10:37:23 -070048bugprone-stringview-nullptr,
Ed Tanousf23b7292020-10-15 09:41:17 -070049bugprone-suspicious-enum-usage,
Ed Tanousd63c72e2022-01-06 12:49:12 -080050bugprone-suspicious-include,
Ed Tanousd5736ef2023-07-06 10:37:23 -070051bugprone-suspicious-memory-comparison,
Ed Tanousf23b7292020-10-15 09:41:17 -070052bugprone-suspicious-memset-usage,
53bugprone-suspicious-missing-comma,
Ed Tanousd5736ef2023-07-06 10:37:23 -070054bugprone-suspicious-realloc-usage,
Ed Tanousf23b7292020-10-15 09:41:17 -070055bugprone-suspicious-semicolon,
56bugprone-suspicious-string-compare,
57bugprone-swapped-arguments,
58bugprone-terminating-continue,
59bugprone-throw-keyword-missing,
60bugprone-too-small-loop-variable,
Ed Tanousd547d8d2024-03-16 18:04:41 -070061bugprone-unchecked-optional-access,
Ed Tanousf23b7292020-10-15 09:41:17 -070062bugprone-undefined-memory-manipulation,
63bugprone-undelegated-constructor,
Ed Tanousd63c72e2022-01-06 12:49:12 -080064bugprone-unhandled-exception-at-new,
Ed Tanousf23b7292020-10-15 09:41:17 -070065bugprone-unhandled-self-assignment,
66bugprone-unused-raii,
67bugprone-unused-return-value,
68bugprone-use-after-move,
69bugprone-virtual-near-miss,
70cert-con36-c,
71cert-con54-cpp,
72cert-dcl03-c,
73cert-dcl16-c,
74cert-dcl21-cpp,
75cert-dcl37-c,
76cert-dcl50-cpp,
77cert-dcl51-cpp,
78cert-dcl54-cpp,
79cert-dcl58-cpp,
80cert-dcl59-cpp,
81cert-env33-c,
82cert-err09-cpp,
83cert-err34-c,
84cert-err52-cpp,
85cert-err60-cpp,
86cert-err61-cpp,
87cert-fio38-c,
88cert-flp30-c,
89cert-mem57-cpp,
90cert-msc30-c,
91cert-msc32-c,
92cert-msc50-cpp,
93cert-msc51-cpp,
94cert-oop11-cpp,
95cert-oop54-cpp,
96cert-oop57-cpp,
Ed Tanousd63c72e2022-01-06 12:49:12 -080097cert-oop58-cpp,
98cert-pos44-c,
99cert-pos47-c,
100cert-sig30-c,
101cert-str34-c,
Ed Tanous5db33d62023-07-06 12:34:45 -0700102clang-analyzer-apiModeling.Errno,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700103clang-analyzer-apiModeling.StdCLibraryFunctions,
104clang-analyzer-apiModeling.TrustNonnull,
Ed Tanous5db33d62023-07-06 12:34:45 -0700105clang-analyzer-apiModeling.TrustReturnsNonnull,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700106clang-analyzer-apiModeling.google.GTest,
107clang-analyzer-apiModeling.llvm.CastValue,
108clang-analyzer-apiModeling.llvm.ReturnValue,
109clang-analyzer-core.CallAndMessage,
110clang-analyzer-core.CallAndMessageModeling,
111clang-analyzer-core.DivideZero,
112clang-analyzer-core.DynamicTypePropagation,
113clang-analyzer-core.NonNullParamChecker,
114clang-analyzer-core.NonnilStringConstants,
115clang-analyzer-core.NullDereference,
116clang-analyzer-core.StackAddrEscapeBase,
117clang-analyzer-core.StackAddressEscape,
118clang-analyzer-core.UndefinedBinaryOperatorResult,
119clang-analyzer-core.VLASize,
120clang-analyzer-core.builtin.BuiltinFunctions,
121clang-analyzer-core.builtin.NoReturnFunctions,
122clang-analyzer-core.uninitialized.ArraySubscript,
123clang-analyzer-core.uninitialized.Assign,
124clang-analyzer-core.uninitialized.Branch,
125clang-analyzer-core.uninitialized.CapturedBlockVariable,
Ed Tanous5db33d62023-07-06 12:34:45 -0700126clang-analyzer-core.uninitialized.NewArraySize,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700127clang-analyzer-core.uninitialized.UndefReturn,
128clang-analyzer-cplusplus.InnerPointer,
129clang-analyzer-cplusplus.Move,
130clang-analyzer-cplusplus.NewDelete,
131clang-analyzer-cplusplus.NewDeleteLeaks,
132clang-analyzer-cplusplus.PlacementNew,
133clang-analyzer-cplusplus.PureVirtualCall,
134clang-analyzer-cplusplus.SelfAssignment,
135clang-analyzer-cplusplus.SmartPtrModeling,
Ed Tanous5db33d62023-07-06 12:34:45 -0700136clang-analyzer-cplusplus.StringChecker,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700137clang-analyzer-cplusplus.VirtualCallModeling,
138clang-analyzer-deadcode.DeadStores,
139clang-analyzer-fuchsia.HandleChecker,
140clang-analyzer-nullability.NullPassedToNonnull,
141clang-analyzer-nullability.NullReturnedFromNonnull,
142clang-analyzer-nullability.NullabilityBase,
143clang-analyzer-nullability.NullableDereferenced,
144clang-analyzer-nullability.NullablePassedToNonnull,
145clang-analyzer-nullability.NullableReturnedFromNonnull,
146clang-analyzer-optin.cplusplus.UninitializedObject,
147clang-analyzer-optin.cplusplus.VirtualCall,
148clang-analyzer-optin.mpi.MPI-Checker,
149clang-analyzer-optin.osx.OSObjectCStyleCast,
150clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker,
151clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker,
152clang-analyzer-optin.performance.GCDAntipattern,
153clang-analyzer-optin.performance.Padding,
154clang-analyzer-optin.portability.UnixAPI,
155clang-analyzer-osx.API,
156clang-analyzer-osx.MIG,
157clang-analyzer-osx.NSOrCFErrorDerefChecker,
158clang-analyzer-osx.NumberObjectConversion,
159clang-analyzer-osx.OSObjectRetainCount,
160clang-analyzer-osx.ObjCProperty,
161clang-analyzer-osx.SecKeychainAPI,
162clang-analyzer-osx.cocoa.AtSync,
163clang-analyzer-osx.cocoa.AutoreleaseWrite,
164clang-analyzer-osx.cocoa.ClassRelease,
165clang-analyzer-osx.cocoa.Dealloc,
166clang-analyzer-osx.cocoa.IncompatibleMethodTypes,
167clang-analyzer-osx.cocoa.Loops,
168clang-analyzer-osx.cocoa.MissingSuperCall,
169clang-analyzer-osx.cocoa.NSAutoreleasePool,
170clang-analyzer-osx.cocoa.NSError,
171clang-analyzer-osx.cocoa.NilArg,
172clang-analyzer-osx.cocoa.NonNilReturnValue,
173clang-analyzer-osx.cocoa.ObjCGenerics,
174clang-analyzer-osx.cocoa.RetainCount,
175clang-analyzer-osx.cocoa.RetainCountBase,
176clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak,
177clang-analyzer-osx.cocoa.SelfInit,
178clang-analyzer-osx.cocoa.SuperDealloc,
179clang-analyzer-osx.cocoa.UnusedIvars,
180clang-analyzer-osx.cocoa.VariadicMethodTypes,
181clang-analyzer-osx.coreFoundation.CFError,
182clang-analyzer-osx.coreFoundation.CFNumber,
183clang-analyzer-osx.coreFoundation.CFRetainRelease,
184clang-analyzer-osx.coreFoundation.containers.OutOfBounds,
185clang-analyzer-osx.coreFoundation.containers.PointerSizedValues,
186clang-analyzer-security.FloatLoopCounter,
187clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
188clang-analyzer-security.insecureAPI.SecuritySyntaxChecker,
189clang-analyzer-security.insecureAPI.UncheckedReturn,
190clang-analyzer-security.insecureAPI.bcmp,
191clang-analyzer-security.insecureAPI.bcopy,
192clang-analyzer-security.insecureAPI.bzero,
193clang-analyzer-security.insecureAPI.decodeValueOfObjCType,
194clang-analyzer-security.insecureAPI.getpw,
195clang-analyzer-security.insecureAPI.gets,
196clang-analyzer-security.insecureAPI.mkstemp,
197clang-analyzer-security.insecureAPI.mktemp,
198clang-analyzer-security.insecureAPI.rand,
199clang-analyzer-security.insecureAPI.strcpy,
200clang-analyzer-security.insecureAPI.vfork,
201clang-analyzer-unix.API,
202clang-analyzer-unix.DynamicMemoryModeling,
203clang-analyzer-unix.Malloc,
204clang-analyzer-unix.MallocSizeof,
205clang-analyzer-unix.MismatchedDeallocator,
206clang-analyzer-unix.Vfork,
207clang-analyzer-unix.cstring.BadSizeArg,
208clang-analyzer-unix.cstring.CStringModeling,
209clang-analyzer-unix.cstring.NullArg,
210clang-analyzer-valist.CopyToSelf,
211clang-analyzer-valist.Uninitialized,
212clang-analyzer-valist.Unterminated,
213clang-analyzer-valist.ValistBase,
214clang-analyzer-webkit.NoUncountedMemberChecker,
215clang-analyzer-webkit.RefCntblBaseVirtualDtor,
Ed Tanous5db33d62023-07-06 12:34:45 -0700216clang-analyzer-webkit.UncountedLambdaCapturesChecker,
Ed Tanous9bc9dc02022-01-07 09:43:17 -0800217cppcoreguidelines-avoid-c-arrays,
218cppcoreguidelines-avoid-goto,
Ed Tanouscf9e4172022-12-21 09:30:16 -0800219cppcoreguidelines-avoid-non-const-global-variables,
Ed Tanous9bc9dc02022-01-07 09:43:17 -0800220cppcoreguidelines-c-copy-assignment-signature,
221cppcoreguidelines-explicit-virtual-functions,
Ed Tanous543f4402022-01-06 13:12:53 -0800222cppcoreguidelines-init-variables,
Ed Tanousd3a9e082022-01-07 09:30:41 -0800223cppcoreguidelines-interfaces-global-init,
Ed Tanous600d2392022-01-07 09:32:03 -0800224cppcoreguidelines-macro-usage,
Ed Tanous9bc9dc02022-01-07 09:43:17 -0800225cppcoreguidelines-narrowing-conversions,
Ed Tanousfcc5aa62022-01-07 09:40:43 -0800226cppcoreguidelines-no-malloc,
Ed Tanous9bc9dc02022-01-07 09:43:17 -0800227cppcoreguidelines-prefer-member-initializer,
Ed Tanous9b6ffca2022-01-07 09:33:43 -0800228cppcoreguidelines-pro-bounds-array-to-pointer-decay,
Ed Tanousca45aa32022-01-07 09:28:45 -0800229cppcoreguidelines-pro-bounds-pointer-arithmetic,
Ed Tanous4ecc6182022-01-07 09:36:26 -0800230cppcoreguidelines-pro-type-const-cast,
Ed Tanous4bac4a82022-01-07 09:37:55 -0800231cppcoreguidelines-pro-type-cstyle-cast,
Ed Tanousd3a9e082022-01-07 09:30:41 -0800232cppcoreguidelines-pro-type-member-init,
Ed Tanous46ff87b2022-01-07 09:25:51 -0800233cppcoreguidelines-pro-type-reinterpret-cast,
Ed Tanousadf3d0e2022-01-07 09:42:21 -0800234cppcoreguidelines-pro-type-static-cast-downcast,
Ed Tanous9bc9dc02022-01-07 09:43:17 -0800235cppcoreguidelines-pro-type-union-access,
Ed Tanous49d1eea2022-01-07 09:39:33 -0800236cppcoreguidelines-pro-type-vararg,
Ed Tanous9bc9dc02022-01-07 09:43:17 -0800237cppcoreguidelines-slicing,
Ed Tanousecd6a3a2022-01-07 09:18:40 -0800238cppcoreguidelines-special-member-functions,
Ed Tanous4e23a442022-06-06 09:57:26 -0700239google-explicit-constructor,
Ed Tanousf23b7292020-10-15 09:41:17 -0700240misc-misplaced-const,
Ed Tanousb00dcc22021-02-23 12:52:50 -0800241#misc-no-recursion,
Ed Tanousf23b7292020-10-15 09:41:17 -0700242misc-redundant-expression,
243misc-static-assert,
244misc-throw-by-value-catch-by-reference,
245misc-unconventional-assign-operator,
246misc-uniqueptr-reset-release,
247misc-unused-using-decls,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700248modernize-avoid-bind,
249modernize-deprecated-headers,
250modernize-deprecated-ios-base-aliases,
251modernize-loop-convert,
252modernize-make-shared,
253modernize-make-unique,
254modernize-raw-string-literal,
Ed Tanousd9fcfcc2023-07-06 12:14:44 -0700255modernize-redundant-void-arg,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700256modernize-replace-auto-ptr,
257modernize-replace-random-shuffle,
258modernize-return-braced-init-list,
259modernize-shrink-to-fit,
260modernize-unary-static-assert,
261modernize-use-bool-literals,
262modernize-use-default-member-init,
263modernize-use-emplace,
264modernize-use-equals-default,
265modernize-use-equals-delete,
266modernize-use-noexcept,
267modernize-use-nullptr,
268modernize-use-override,
269modernize-use-transparent-functors,
270modernize-use-uncaught-exceptions,
271modernize-use-using,
Ed Tanousf23b7292020-10-15 09:41:17 -0700272performance-faster-string-find,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700273performance-for-range-copy,
274performance-implicit-conversion-in-loop,
275performance-inefficient-algorithm,
Ed Tanousf23b7292020-10-15 09:41:17 -0700276performance-inefficient-string-concatenation,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700277performance-inefficient-vector-operation,
Ed Tanousf23b7292020-10-15 09:41:17 -0700278performance-move-const-arg,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700279performance-move-constructor-init,
280performance-no-automatic-move,
Ed Tanous31873b32022-01-25 16:27:50 -0800281performance-no-int-to-ptr,
Ed Tanousf23b7292020-10-15 09:41:17 -0700282performance-noexcept-move-constructor,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700283performance-trivially-destructible,
284performance-type-promotion-in-math-fn,
285performance-unnecessary-copy-initialization,
Ed Tanousf23b7292020-10-15 09:41:17 -0700286performance-unnecessary-value-param,
Ed Tanous9eb808c2022-01-25 10:19:23 -0800287readability-avoid-const-params-in-decls,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700288readability-braces-around-statements,
289readability-const-return-type,
Ed Tanousdb0d36e2023-06-30 10:37:05 -0700290readability-container-contains,
Ed Tanous0f837072023-06-30 09:57:26 -0700291readability-container-data-pointer,
Ed Tanous26f69762022-01-25 09:49:11 -0800292readability-container-size-empty,
Ed Tanous56d23962022-02-14 20:42:02 -0800293readability-convert-member-functions-to-static,
Ed Tanous3174e4d2020-10-07 11:41:22 -0700294readability-delete-null-pointer,
295readability-deleted-default,
Ed Tanousf23b7292020-10-15 09:41:17 -0700296readability-else-after-return,
Ed Tanous55f79e62022-01-25 11:26:16 -0800297readability-function-size,
298readability-identifier-naming,
Ed Tanouse662eae2022-01-25 10:39:19 -0800299readability-implicit-bool-conversion,
Ed Tanous55f79e62022-01-25 11:26:16 -0800300readability-inconsistent-declaration-parameter-name,
301readability-isolate-declaration,
Ed Tanous56d23962022-02-14 20:42:02 -0800302readability-make-member-function-const,
Ed Tanous55f79e62022-01-25 11:26:16 -0800303readability-misleading-indentation,
304readability-misplaced-array-index,
Ed Tanous104f09c2022-01-25 09:56:04 -0800305readability-named-parameter,
Ed Tanous56d23962022-02-14 20:42:02 -0800306readability-non-const-parameter,
Ed Tanous55f79e62022-01-25 11:26:16 -0800307readability-qualified-auto,
308readability-redundant-access-specifiers,
Ed Tanousdcf2ebc2022-01-25 10:07:45 -0800309readability-redundant-control-flow,
Ed Tanouse05aec52022-01-25 10:28:56 -0800310readability-redundant-declaration,
311readability-redundant-function-ptr-dereference,
312readability-redundant-member-init,
313readability-redundant-preprocessor,
314readability-redundant-smartptr-get,
315readability-redundant-string-cstr,
316readability-redundant-string-init,
Ed Tanous55f79e62022-01-25 11:26:16 -0800317readability-simplify-boolean-expr,
318readability-simplify-subscript-expr,
Ed Tanous71d5d8d2022-01-25 11:04:33 -0800319readability-static-accessed-through-instance,
Ed Tanous55f79e62022-01-25 11:26:16 -0800320readability-static-definition-in-anonymous-namespace,
321readability-string-compare,
322readability-suspicious-call-argument,
323readability-uniqueptr-delete-release,
Ed Tanousdbb59d42022-01-25 11:09:55 -0800324readability-uppercase-literal-suffix'
Ed Tanous3174e4d2020-10-07 11:41:22 -0700325
326WarningsAsErrors: '*'
Ed Tanousb0bb6f22020-09-28 16:43:15 -0700327HeaderFilterRegex: '.*'
328CheckOptions:
329 - { key: readability-identifier-naming.ClassCase, value: CamelCase }
330 - { key: readability-identifier-naming.VariableCase, value: camelBack }
331 - { key: readability-identifier-naming.FunctionCase, value: camelBack }
Ed Tanous81ce6092020-12-17 16:54:55 +0000332 - { key: readability-identifier-naming.ParameterCase, value: camelBack }
Ed Tanousb0bb6f22020-09-28 16:43:15 -0700333 - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
334 - { key: readability-identifier-naming.StructCase, value: CamelCase }
Ed Tanous62598e32023-07-17 17:06:25 -0700335 - { key: readability-identifier-naming.FunctionIgnoredRegexp, value: (BMCWEB_LOG_DEBUG|BMCWEB_LOG_INFO|BMCWEB_LOG_WARNING|BMCWEB_LOG_ERROR|BMCWEB_LOG_CRITICAL) }
Ed Tanous0ec8b832022-03-14 14:56:47 -0700336 - { key: cppcoreguidelines-macro-usage.AllowedRegexp, value: DEBUG*|NLOHMANN_JSON_SERIALIZE_ENUM }
Ed Tanousd9f466b2023-03-06 15:04:25 -0800337 - { key: performance-unnecessary-value-param.AllowedTypes, value: ((segments_view)|(url_view)) }