Add new tidy checks

Another clang, another list of checks we can enable.

Tested: Clang-tidy passes.

Change-Id: Ib3fcd8046ce9f2caf9f9d95571ffa3cc2f56c596
Signed-off-by: Ed Tanous <ed@tanous.net>
diff --git a/.clang-tidy b/.clang-tidy
index b44f227..d1ff7be 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -113,12 +113,12 @@
 cert-sig30-c,
 cert-str34-c,
 clang-analyzer-apiModeling.Errno,
-clang-analyzer-apiModeling.StdCLibraryFunctions,
 clang-analyzer-apiModeling.TrustNonnull,
 clang-analyzer-apiModeling.TrustReturnsNonnull,
 clang-analyzer-apiModeling.google.GTest,
 clang-analyzer-apiModeling.llvm.CastValue,
 clang-analyzer-apiModeling.llvm.ReturnValue,
+clang-analyzer-core.BitwiseShift,
 clang-analyzer-core.CallAndMessage,
 clang-analyzer-core.CallAndMessageModeling,
 clang-analyzer-core.DivideZero,
@@ -156,6 +156,7 @@
 clang-analyzer-nullability.NullableDereferenced,
 clang-analyzer-nullability.NullablePassedToNonnull,
 clang-analyzer-nullability.NullableReturnedFromNonnull,
+clang-analyzer-optin.core.EnumCastOutOfRange,
 clang-analyzer-optin.cplusplus.UninitializedObject,
 clang-analyzer-optin.cplusplus.VirtualCall,
 clang-analyzer-optin.mpi.MPI-Checker,
@@ -197,6 +198,7 @@
 clang-analyzer-osx.coreFoundation.containers.OutOfBounds,
 clang-analyzer-osx.coreFoundation.containers.PointerSizedValues,
 clang-analyzer-security.FloatLoopCounter,
+clang-analyzer-security.cert.env.InvalidPtr,
 clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
 clang-analyzer-security.insecureAPI.SecuritySyntaxChecker,
 clang-analyzer-security.insecureAPI.UncheckedReturn,
@@ -213,9 +215,11 @@
 clang-analyzer-security.insecureAPI.vfork,
 clang-analyzer-unix.API,
 clang-analyzer-unix.DynamicMemoryModeling,
+clang-analyzer-unix.Errno,
 clang-analyzer-unix.Malloc,
 clang-analyzer-unix.MallocSizeof,
 clang-analyzer-unix.MismatchedDeallocator,
+clang-analyzer-unix.StdCLibraryFunctions,
 clang-analyzer-unix.Vfork,
 clang-analyzer-unix.cstring.BadSizeArg,
 clang-analyzer-unix.cstring.CStringModeling,
@@ -228,15 +232,23 @@
 clang-analyzer-webkit.RefCntblBaseVirtualDtor,
 clang-analyzer-webkit.UncountedLambdaCapturesChecker,
 cppcoreguidelines-avoid-c-arrays,
+cppcoreguidelines-avoid-capturing-lambda-coroutines,
 cppcoreguidelines-avoid-goto,
 cppcoreguidelines-avoid-non-const-global-variables,
+cppcoreguidelines-avoid-reference-coroutine-parameters,
 cppcoreguidelines-c-copy-assignment-signature,
 cppcoreguidelines-explicit-virtual-functions,
 cppcoreguidelines-init-variables,
 cppcoreguidelines-interfaces-global-init,
+cppcoreguidelines-macro-to-enum,
 cppcoreguidelines-macro-usage,
+cppcoreguidelines-misleading-capture-default-by-value,
 cppcoreguidelines-narrowing-conversions,
 cppcoreguidelines-no-malloc,
+cppcoreguidelines-no-suspend-with-lock,
+cppcoreguidelines-noexcept-destructor,
+cppcoreguidelines-noexcept-move-operations,
+cppcoreguidelines-noexcept-swap,
 cppcoreguidelines-prefer-member-initializer,
 cppcoreguidelines-pro-bounds-array-to-pointer-decay,
 cppcoreguidelines-pro-bounds-pointer-arithmetic,
@@ -247,6 +259,9 @@
 cppcoreguidelines-pro-type-static-cast-downcast,
 cppcoreguidelines-pro-type-union-access,
 cppcoreguidelines-pro-type-vararg,
+cppcoreguidelines-rvalue-reference-param-not-moved,
+cppcoreguidelines-use-default-member-init,
+cppcoreguidelines-virtual-class-destructor,
 cppcoreguidelines-slicing,
 cppcoreguidelines-special-member-functions,
 google-explicit-constructor,
@@ -286,9 +301,12 @@
 modernize-use-noexcept,
 modernize-use-nullptr,
 modernize-use-override,
+modernize-use-starts-ends-with,
+modernize-use-std-numbers,
 modernize-use-transparent-functors,
 modernize-use-uncaught-exceptions,
 modernize-use-using,
+performance-avoid-endl,
 performance-faster-string-find,
 performance-for-range-copy,
 performance-implicit-conversion-in-loop,
@@ -299,13 +317,17 @@
 performance-move-constructor-init,
 performance-no-automatic-move,
 performance-no-int-to-ptr,
+performance-noexcept-destructor,
 performance-noexcept-move-constructor,
+performance-noexcept-swap,
 performance-trivially-destructible,
 performance-type-promotion-in-math-fn,
 performance-unnecessary-copy-initialization,
 performance-unnecessary-value-param,
 readability-avoid-const-params-in-decls,
 readability-avoid-nested-conditional-operator,
+readability-avoid-return-with-void-value,
+readability-avoid-unconditional-preprocessor-if,
 readability-braces-around-statements,
 readability-const-return-type,
 readability-container-contains,
@@ -313,6 +335,7 @@
 readability-container-size-empty,
 readability-convert-member-functions-to-static,
 readability-delete-null-pointer,
+readability-duplicate-include,
 readability-deleted-default,
 readability-else-after-return,
 readability-function-size,
@@ -324,9 +347,11 @@
 readability-misleading-indentation,
 readability-misplaced-array-index,
 readability-named-parameter,
+readability-operators-representation,
 readability-non-const-parameter,
 readability-qualified-auto,
 readability-redundant-access-specifiers,
+readability-redundant-casting,
 readability-redundant-control-flow,
 readability-redundant-declaration,
 readability-redundant-function-ptr-dereference,
@@ -336,6 +361,7 @@
 readability-redundant-smartptr-get,
 readability-redundant-string-cstr,
 readability-redundant-string-init,
+readability-reference-to-constructed-temporary,
 readability-simplify-boolean-expr,
 readability-simplify-subscript-expr,
 readability-static-accessed-through-instance,