# Copyright 2020-2022 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC

Checks: >
  *,
  -*-else-after-return,
  -*-magic-numbers,
  -*-non-private-member-variables-in-classes,
  -*-static-assert,
  -*-uppercase-literal-suffix,
  -*-use-auto,
  -*-use-equals-default,
  -*-use-equals-delete,
  -*-vararg,
  -abseil-string-find-str-contains,
  -altera-*,
  -android-cloexec-fopen,
  -bugprone-assignment-in-if-condition,
  -bugprone-branch-clone,
  -bugprone-copy-constructor-init,
  -bugprone-easily-swappable-parameters,
  -bugprone-narrowing-conversions,
  -bugprone-reserved-identifier,
  -bugprone-suspicious-include,
  -bugprone-suspicious-string-compare,
  -cert-dcl37-c,
  -cert-dcl51-cpp,
  -cert-err33-c,
  -cert-err34-c,
  -clang-analyzer-core.uninitialized.ArraySubscript,
  -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
  -clang-analyzer-valist.Uninitialized,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-init-variables,
  -cppcoreguidelines-macro-usage,
  -cppcoreguidelines-narrowing-conversions,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  -cppcoreguidelines-special-member-functions,
  -fuchsia-default-arguments*,
  -fuchsia-multiple-inheritance,
  -fuchsia-overloaded-operator,
  -google-explicit-constructor,
  -google-readability-todo,
  -google-runtime-references,
  -hicpp-explicit-conversions,
  -hicpp-multiway-paths-covered,
  -hicpp-no-array-decay,
  -hicpp-noexcept-move,
  -hicpp-signed-bitwise,
  -hicpp-special-member-functions,
  -llvm-header-guard,
  -llvmlibc-*,
  -misc-no-recursion,
  -misc-unused-parameters,
  -modernize-macro-to-enum,
  -modernize-return-braced-init-list,
  -modernize-use-default-member-init,
  -modernize-use-trailing-return-type,
  -performance-faster-string-find,
  -performance-noexcept-move-constructor,
  -performance-unnecessary-value-param,
  -readability-const-return-type,
  -readability-function-cognitive-complexity,
  -readability-identifier-length,
  -readability-implicit-bool-conversion,
  -readability-redundant-member-init,
WarningsAsErrors: '*'
HeaderFilterRegex: '.*'
FormatStyle: file