---
# Note on checks are disabled on purpose
#
# - abseil-no-namespace
# https://bugs.llvm.org/show_bug.cgi?id=47947
#
# - bugprone-reserved-identifier
# Some macros need to be defined for portability purpose; e.g. _BSD_SOURCE.
#
# - google-upgrade-googletest-case
# This requires googletest 1.10 which is higher than ones installed on many linux distributions.
#
# - modernize-redundant-void-arg
# Some source should be strictly C99 and func(void) should be used.
#
# Note on checks which will be enabled in future. These are good to have but
# it's not activated yet due to the existing issues with the checks.
# Once those issues are clear, these checks can be enabled later.
#
# - bugprone-branch-clone
# - bugprone-infinite-loop
# - bugprone-narrowing-conversions
# - bugprone-not-null-terminated-result
# - bugprone-signed-char-misuse
# - bugprone-sizeof-expression
# - bugprone-too-small-loop-variable
# - clang-diagnostic-deprecated-declarations
# - clang-diagnostic-unused-function
# - google-readability-avoid-underscore-in-googletest-name
# - google-runtime-int
# - google-runtime-references
# - modernize-avoid-bind
# - modernize-deprecated-headers
# - modernize-loop-convert
# - modernize-pass-by-value
# - modernize-raw-string-literal
# - modernize-return-braced-init-list
# - modernize-use-auto
# - modernize-use-default-member-init
# - modernize-use-emplace
# - modernize-use-equals-default
# - modernize-use-equals-delete
# - modernize-use-using
# - performance-no-automatic-move
# - performance-unnecessary-copy-initialization
# - performance-unnecessary-value-param
# - readability-else-after-return
# - readability-implicit-bool-conversion
# - readability-redundant-declaration
# - readability-static-definition-in-anonymous-namespace
#
Checks: '-*,
abseil-*,
-abseil-no-namespace,
bugprone-*,
-bugprone-branch-clone,
-bugprone-infinite-loop,
-bugprone-narrowing-conversions,
-bugprone-not-null-terminated-result,
-bugprone-reserved-identifier,
-bugprone-signed-char-misuse,
-bugprone-sizeof-expression,
-bugprone-too-small-loop-variable,
google-*,
-google-readability-avoid-underscore-in-googletest-name,
-google-runtime-int,
-google-runtime-references,
-google-upgrade-googletest-case,
performance-*,
-performance-no-automatic-move,
-performance-unnecessary-copy-initialization,
-performance-unnecessary-value-param,
clang-diagnostic-deprecated-register,
clang-diagnostic-expansion-to-defined,
clang-diagnostic-ignored-attributes,
clang-diagnostic-non-pod-varargs,
clang-diagnostic-shadow-field,
clang-diagnostic-shift-sign-overflow,
clang-diagnostic-tautological-undefined-compare,
clang-diagnostic-thread-safety*,
clang-diagnostic-undefined-bool-conversion,
clang-diagnostic-unreachable-code,
clang-diagnostic-unreachable-code-loop-increment,
clang-diagnostic-unused-const-variable,
clang-diagnostic-unused-lambda-capture,
clang-diagnostic-unused-local-typedef,
clang-diagnostic-unused-private-field,
clang-diagnostic-user-defined-warnings,
misc-definitions-in-headers,
misc-static-assert,
misc-unconventional-assign-operator,
misc-uniqueptr-reset-release,
misc-unused-alias-decls,
misc-unused-using-decls,
modernize-make-shared,
modernize-make-unique,
modernize-replace-auto-ptr,
modernize-replace-random-shuffle,
modernize-shrink-to-fit,
modernize-unary-static-assert,
modernize-use-bool-literals,
modernize-use-noexcept,
modernize-use-nullptr,
modernize-use-override,
modernize-use-transparent-functors,
readability-const-return-type,
readability-container-size-empty,
readability-delete-null-pointer,
readability-deleted-default,
readability-function-size,
readability-inconsistent-declaration-parameter-name,
readability-misleading-indentation,
readability-misplaced-array-index,
readability-redundant-control-flow,
readability-redundant-function-ptr-dereference,
readability-redundant-smartptr-get,
readability-simplify-boolean-expr,
readability-string-compare,
readability-uniqueptr-delete-release'
WarningsAsErrors: '*'
CheckOptions:
- key: readability-function-size.StatementThreshold
value: '450'
- key: modernize-make-unique.MakeSmartPtrFunction
value: 'absl::make_unique'
- key: modernize-make-unique.MakeSmartPtrFunctionHeader
value: 'absl/memory/memory.h'
- key: google-readability-braces-around-statements.ShortStatementLines
value: 1