# `-allow-enabling-analyzer-alpha-checkers` should be passed to clang-tidy for CSA checkers named `clang-analyzer-alpha.*` # `aggressive-binary-operation-simplification` should be enabled (via `-Xclang -analyzer-config -Xclang aggressive-binary-operation-simplification=true` in clang) # there is some problem in `clang-analyzer-alpha.clone.*`, so do not enable it # `clang-analyzer-alpha.deadcode.*` is just too verbose to enable Checks: >- -*, bugprone-*, -bugprone-branch-clone, -bugprone-easily-swappable-parameters, -bugprone-lambda-function-name, -bugprone-macro-parentheses, -bugprone-narrowing-conversions, -bugprone-reserved-identifier, clang-diagnostic-*, clang-analyzer-.*, cppcoreguidelines-avoid-goto, cppcoreguidelines-interfaces-global-init, cppcoreguidelines-init-variables, cppcoreguidelines-no-malloc, cppcoreguidelines-prefer-member-initializer, cppcoreguidelines-pro-type-member-init, cppcoreguidelines-pro-type-static-cast-downcast, cppcoreguidelines-slicing, cppcoreguidelines-special-member-functions, performance-*, google-default-arguments, google-global-names-in-headers, google-explicit-constructor, misc-*, -misc-const-correctness, -misc-include-cleaner, -misc-no-recursion, -misc-non-private-member-variables-in-classes, -misc-use-anonymous-namespace, modernize-*, -modernize-concat-nested-namespaces, -modernize-raw-string-literal, -modernize-return-braced-init-list, -modernize-use-auto, -modernize-use-trailing-return-type, -modernize-use-nodiscard, readability-container-size-empty, readability-delete-null-pointer, readability-duplicate-include readability-misplaced-array-index, readability-non-const-parameter, readability-redundant* readability-simplify*, readability-string-compare, -readability-redundant-access-specifiers, -readability-redundant-control-flow, readability-static-accessed-through-instance, readability-static-definition-in-anonymous-namespace, readability-string-compare, readability-suspicious-call-argument, readability-uniqueptr-delete-release, CheckOptions: # `cppcoreguidelines-special-member-functions` is enabled, refer to https://en.cppreference.com/w/cpp/language/rule_of_three - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor value: True - key: performance-move-const-arg.CheckTriviallyCopyableMove value: False - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctionsWhenCopyIsDeleted value: True