diff options
author | Ed Tanous <ed@tanous.net> | 2020-10-07 21:41:22 +0300 |
---|---|---|
committer | Ed Tanous <ed@tanous.net> | 2020-10-09 20:22:02 +0300 |
commit | 3174e4dfd3185c131a07371b4b5a5b40cf0e0bdb (patch) | |
tree | 10d3d0cf46070704c775cb2bd2f190575aedd49e /.clang-tidy | |
parent | fc76b8ac6c2d9907ffd4618d22753db95c40953d (diff) | |
download | bmcweb-3174e4dfd3185c131a07371b4b5a5b40cf0e0bdb.tar.xz |
Write the clang-tidy file OpenBMC needs
Now that CI can handle clang-tidy, and a lot of the individual fixes
have landed for the various static analysis checks, lets see how close
we are.
This includes bringing a bunch of the code up to par with the checks
that require. Most of them fall into the category of extraneous else
statements, const correctness problems, or extra copies.
Tested:
CI only. Unit tests pass.
Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: I9fbd346560a75fdd3901fa40c57932486275e912
Diffstat (limited to '.clang-tidy')
-rw-r--r-- | .clang-tidy | 243 |
1 files changed, 241 insertions, 2 deletions
diff --git a/.clang-tidy b/.clang-tidy index 33b096066b..67c3f8a91f 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,5 +1,244 @@ -Checks: '-*,readability-identifier-naming' -WarningsAsErrors: '-*,readability-identifier-naming' +Checks: ' +-*, +readability-identifier-naming, +clang-analyzer-apiModeling.StdCLibraryFunctions, +clang-analyzer-apiModeling.TrustNonnull, +clang-analyzer-apiModeling.google.GTest, +clang-analyzer-apiModeling.llvm.CastValue, +clang-analyzer-apiModeling.llvm.ReturnValue, +clang-analyzer-core.CallAndMessage, +clang-analyzer-core.CallAndMessageModeling, +clang-analyzer-core.DivideZero, +clang-analyzer-core.DynamicTypePropagation, +clang-analyzer-core.NonNullParamChecker, +clang-analyzer-core.NonnilStringConstants, +clang-analyzer-core.NullDereference, +clang-analyzer-core.StackAddrEscapeBase, +clang-analyzer-core.StackAddressEscape, +clang-analyzer-core.UndefinedBinaryOperatorResult, +clang-analyzer-core.VLASize, +clang-analyzer-core.builtin.BuiltinFunctions, +clang-analyzer-core.builtin.NoReturnFunctions, +clang-analyzer-core.uninitialized.ArraySubscript, +clang-analyzer-core.uninitialized.Assign, +clang-analyzer-core.uninitialized.Branch, +clang-analyzer-core.uninitialized.CapturedBlockVariable, +clang-analyzer-core.uninitialized.UndefReturn, +clang-analyzer-cplusplus.InnerPointer, +clang-analyzer-cplusplus.Move, +clang-analyzer-cplusplus.NewDelete, +clang-analyzer-cplusplus.NewDeleteLeaks, +clang-analyzer-cplusplus.PlacementNew, +clang-analyzer-cplusplus.PureVirtualCall, +clang-analyzer-cplusplus.SelfAssignment, +clang-analyzer-cplusplus.SmartPtrModeling, +clang-analyzer-cplusplus.VirtualCallModeling, +clang-analyzer-deadcode.DeadStores, +clang-analyzer-fuchsia.HandleChecker, +clang-analyzer-nullability.NullPassedToNonnull, +clang-analyzer-nullability.NullReturnedFromNonnull, +clang-analyzer-nullability.NullabilityBase, +clang-analyzer-nullability.NullableDereferenced, +clang-analyzer-nullability.NullablePassedToNonnull, +clang-analyzer-nullability.NullableReturnedFromNonnull, +clang-analyzer-optin.cplusplus.UninitializedObject, +clang-analyzer-optin.cplusplus.VirtualCall, +clang-analyzer-optin.mpi.MPI-Checker, +clang-analyzer-optin.osx.OSObjectCStyleCast, +clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker, +clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker, +clang-analyzer-optin.performance.GCDAntipattern, +clang-analyzer-optin.performance.Padding, +clang-analyzer-optin.portability.UnixAPI, +clang-analyzer-osx.API, +clang-analyzer-osx.MIG, +clang-analyzer-osx.NSOrCFErrorDerefChecker, +clang-analyzer-osx.NumberObjectConversion, +clang-analyzer-osx.OSObjectRetainCount, +clang-analyzer-osx.ObjCProperty, +clang-analyzer-osx.SecKeychainAPI, +clang-analyzer-osx.cocoa.AtSync, +clang-analyzer-osx.cocoa.AutoreleaseWrite, +clang-analyzer-osx.cocoa.ClassRelease, +clang-analyzer-osx.cocoa.Dealloc, +clang-analyzer-osx.cocoa.IncompatibleMethodTypes, +clang-analyzer-osx.cocoa.Loops, +clang-analyzer-osx.cocoa.MissingSuperCall, +clang-analyzer-osx.cocoa.NSAutoreleasePool, +clang-analyzer-osx.cocoa.NSError, +clang-analyzer-osx.cocoa.NilArg, +clang-analyzer-osx.cocoa.NonNilReturnValue, +clang-analyzer-osx.cocoa.ObjCGenerics, +clang-analyzer-osx.cocoa.RetainCount, +clang-analyzer-osx.cocoa.RetainCountBase, +clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak, +clang-analyzer-osx.cocoa.SelfInit, +clang-analyzer-osx.cocoa.SuperDealloc, +clang-analyzer-osx.cocoa.UnusedIvars, +clang-analyzer-osx.cocoa.VariadicMethodTypes, +clang-analyzer-osx.coreFoundation.CFError, +clang-analyzer-osx.coreFoundation.CFNumber, +clang-analyzer-osx.coreFoundation.CFRetainRelease, +clang-analyzer-osx.coreFoundation.containers.OutOfBounds, +clang-analyzer-osx.coreFoundation.containers.PointerSizedValues, +clang-analyzer-security.FloatLoopCounter, +clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling, +clang-analyzer-security.insecureAPI.SecuritySyntaxChecker, +clang-analyzer-security.insecureAPI.UncheckedReturn, +clang-analyzer-security.insecureAPI.bcmp, +clang-analyzer-security.insecureAPI.bcopy, +clang-analyzer-security.insecureAPI.bzero, +clang-analyzer-security.insecureAPI.decodeValueOfObjCType, +clang-analyzer-security.insecureAPI.getpw, +clang-analyzer-security.insecureAPI.gets, +clang-analyzer-security.insecureAPI.mkstemp, +clang-analyzer-security.insecureAPI.mktemp, +clang-analyzer-security.insecureAPI.rand, +clang-analyzer-security.insecureAPI.strcpy, +clang-analyzer-security.insecureAPI.vfork, +clang-analyzer-unix.API, +clang-analyzer-unix.DynamicMemoryModeling, +clang-analyzer-unix.Malloc, +clang-analyzer-unix.MallocSizeof, +clang-analyzer-unix.MismatchedDeallocator, +clang-analyzer-unix.Vfork, +clang-analyzer-unix.cstring.BadSizeArg, +clang-analyzer-unix.cstring.CStringModeling, +clang-analyzer-unix.cstring.NullArg, +clang-analyzer-valist.CopyToSelf, +clang-analyzer-valist.Uninitialized, +clang-analyzer-valist.Unterminated, +clang-analyzer-valist.ValistBase, +clang-analyzer-webkit.NoUncountedMemberChecker, +clang-analyzer-webkit.RefCntblBaseVirtualDtor, +cert-con36-c, +cert-con54-cpp, +cert-dcl03-c, +cert-dcl16-c, +cert-dcl21-cpp, +cert-dcl37-c, +cert-dcl50-cpp, +cert-dcl51-cpp, +cert-dcl54-cpp, +cert-dcl58-cpp, +cert-dcl59-cpp, +cert-env33-c, +cert-err09-cpp, +cert-err34-c, +cert-err52-cpp, +cert-err60-cpp, +cert-err61-cpp, +cert-fio38-c, +cert-flp30-c, +cert-mem57-cpp, +cert-msc30-c, +cert-msc32-c, +cert-msc50-cpp, +cert-msc51-cpp, +cert-oop11-cpp, +cert-oop54-cpp, +cert-oop57-cpp, +modernize-avoid-bind, +modernize-deprecated-headers, +modernize-deprecated-ios-base-aliases, +modernize-loop-convert, +modernize-make-shared, +modernize-make-unique, +modernize-raw-string-literal, +modernize-replace-auto-ptr, +modernize-replace-random-shuffle, +modernize-return-braced-init-list, +modernize-shrink-to-fit, +modernize-unary-static-assert, +modernize-use-bool-literals, +modernize-use-default-member-init, +modernize-use-emplace, +modernize-use-equals-default, +modernize-use-equals-delete, +modernize-use-noexcept, +modernize-use-nullptr, +modernize-use-override, +modernize-use-transparent-functors, +modernize-use-uncaught-exceptions, +modernize-use-using, +bugprone-argument-comment, +bugprone-assert-side-effect, +bugprone-bad-signal-to-kill-thread, +bugprone-bool-pointer-implicit-conversion, +bugprone-branch-clone, +bugprone-copy-constructor-init, +bugprone-dangling-handle, +bugprone-dynamic-static-initializers, +bugprone-fold-init-type, +bugprone-forward-declaration-namespace, +bugprone-forwarding-reference-overload, +bugprone-inaccurate-erase, +bugprone-incorrect-roundings, +bugprone-infinite-loop, +bugprone-integer-division, +bugprone-lambda-function-name, +bugprone-macro-parentheses, +bugprone-macro-repeated-side-effects, +bugprone-misplaced-operator-in-strlen-in-alloc, +bugprone-misplaced-pointer-arithmetic-in-alloc, +bugprone-misplaced-widening-cast, +bugprone-multiple-statement-macro, +bugprone-narrowing-conversions, +bugprone-no-escape, +bugprone-not-null-terminated-result, +bugprone-parent-virtual-call, +bugprone-posix-return, +bugprone-reserved-identifier, +bugprone-signed-char-misuse, +bugprone-sizeof-container, +bugprone-sizeof-expression, +bugprone-spuriously-wake-up-functions, +bugprone-string-constructor, +bugprone-string-integer-assignment, +bugprone-string-literal-with-embedded-nul, +bugprone-suspicious-enum-usage, +bugprone-suspicious-include, +bugprone-suspicious-memset-usage, +bugprone-suspicious-missing-comma, +bugprone-suspicious-semicolon, +bugprone-suspicious-string-compare, +bugprone-swapped-arguments, +bugprone-terminating-continue, +bugprone-throw-keyword-missing, +bugprone-too-small-loop-variable, +bugprone-undefined-memory-manipulation, +bugprone-undelegated-constructor, +bugprone-unhandled-self-assignment, +bugprone-unused-raii, +bugprone-unused-return-value, +bugprone-use-after-move, +bugprone-virtual-near-miss, +misc-misplaced-const, +misc-no-recursion, +misc-redundant-expression, +misc-static-assert, +misc-throw-by-value-catch-by-reference, +misc-unconventional-assign-operator, +misc-uniqueptr-reset-release, +misc-unused-using-decls, +performance-for-range-copy, +performance-implicit-conversion-in-loop, +performance-inefficient-algorithm, +performance-inefficient-vector-operation, +performance-move-constructor-init, +performance-no-automatic-move, +performance-trivially-destructible, +performance-type-promotion-in-math-fn, +performance-unnecessary-copy-initialization, +readability-identifier-naming, +readability-braces-around-statements, +readability-const-return-type, +readability-delete-null-pointer, +readability-deleted-default, +readability-else-after-return' + + +WarningsAsErrors: '*' HeaderFilterRegex: '.*' CheckOptions: - { key: readability-identifier-naming.ClassCase, value: CamelCase } |