---
# 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-easily-swappable-parameters,
# - bugprone-implicit-widening-of-multiplication-result
# - 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-no-int-to-ptr
# - performance-unnecessary-copy-initialization
# - performance-unnecessary-value-param
# - readability-else-after-return
# - readability-implicit-bool-conversion
# - readability-redundant-declaration
#
Checks: '-*,
  abseil-*,
  -abseil-no-namespace,
  bugprone-*,
  -bugprone-branch-clone,
  -bugprone-easily-swappable-parameters,
  -bugprone-implicit-widening-of-multiplication-result,
  -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-no-int-to-ptr,
  -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-static-definition-in-anonymous-namespace,
  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
