---
# 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.
#
# - 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-assignment-in-if-condition
# - 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
# - bugprone-unchecked-optional-access
# - clang-diagnostic-deprecated-declarations
# - clang-diagnostic-unused-function
# - 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-assignment-in-if-condition,
  -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,
  -bugprone-unchecked-optional-access,
  google-*,
  -google-runtime-int,
  -google-runtime-references,
  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-braces-around-statements,
  readability-const-return-type,
  readability-container-size-empty,
  readability-delete-null-pointer,
  readability-deleted-default,
  readability-duplicate-include,
  readability-function-size,
  readability-inconsistent-declaration-parameter-name,
  readability-misleading-indentation,
  readability-misplaced-array-index,
  readability-redundant-access-specifiers,
  readability-redundant-control-flow,
  readability-redundant-function-ptr-dereference,
  readability-redundant-smartptr-get,
  readability-redundant-string-cstr,
  readability-redundant-string-init,
  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:    readability-braces-around-statements.ShortStatementLines
    value:  1
  - key:    readability-simplify-boolean-expr.SimplifyDeMorgan
    value:  false
