# -*- yaml -*-

Checks:
  - -*

  - bugprone-*
  - -bugprone-branch-clone # TODO: enable and autofix
  - -bugprone-casting-through-void
  - -bugprone-easily-swappable-parameters
  - -bugprone-implicit-widening-of-multiplication-result
  - -bugprone-macro-parentheses
  - -bugprone-misplaced-widening-cast
  - -bugprone-multi-level-implicit-pointer-conversion
  - -bugprone-narrowing-conversions
  - -bugprone-reserved-identifier
  - -bugprone-unchecked-string-to-number-conversion

  # - clang-analyzer-*

  # - clang-diagnostics-*

  - misc-*
  - -misc-header-include-cycle
  - -misc-include-cleaner
  - -misc-no-recursion
  - -misc-unused-parameters

  - modernize-*
  - -modernize-macro-to-enum

  - performance-*
  - -performance-no-int-to-ptr

  - readability-*
  - -readability-avoid-const-params-in-decls
  - -readability-avoid-unconditional-preprocessor-if
  - -readability-braces-around-statements
  - -readability-enum-initial-value
  - -readability-function-cognitive-complexity
  - -readability-function-size # TODO: enable and fix or suppress with NOLINT
  - -readability-identifier-length
  - -readability-magic-numbers
  - -readability-non-const-parameter
  - -readability-suspicious-call-argument
  - -readability-uppercase-literal-suffix
  - -readability-use-concise-preprocessor-directives

WarningsAsErrors: "*"
