# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: 2018-2025, Collabora, Ltd. and the Monado contributors

# The first block contains the enabled checks, the second block contains the disabled checks,
# and the third block contains the temporarily disabled checks
Checks:       |
    android-*,
    bugprone-*,
    cert-*,
    clang-analyzer-*,
    clang-diagnostic-*,
    concurrency-*,
    cppcoreguidelines-*',
    hicpp-*,
    misc-*,
    modernize-*,
    performance-*,
    portability-*,
    readability-*,

    -android-cloexec-dup,
    -android-cloexec-fopen,
    -android-cloexec-open,
    -bugprone-assignment-in-if-condition,
    -bugprone-bool-pointer-implicit-conversion,
    -bugprone-branch-clone,
    -bugprone-casting-through-void,
    -bugprone-crtp-constructor-accessibility,
    -bugprone-easily-swappable-parameters,
    -bugprone-exception-escape,
    -bugprone-implicit-widening-of-multiplication-result,
    -bugprone-inc-dec-in-conditions,
    -bugprone-incorrect-roundings,
    -bugprone-integer-division,
    -bugprone-macro-parentheses,
    -bugprone-misplaced-widening-cast,
    -bugprone-multi-level-implicit-pointer-conversion,
    -bugprone-narrowing-conversions,
    -bugprone-reserved-identifier,
    -bugprone-signed-char-misuse,
    -bugprone-sizeof-expression,
    -bugprone-suspicious-include,
    -bugprone-suspicious-memory-comparison,
    -bugprone-suspicious-realloc-usage,
    -bugprone-suspicious-string-compare,
    -bugprone-switch-missing-default-case,
    -bugprone-undefined-memory-manipulation,
    -bugprone-unhandled-self-assignment,
    -cert-dcl03-c,
    -cert-dcl16-c,
    -cert-dcl37-c,
    -cert-dcl50-cpp,
    -cert-dcl51-cpp,
    -cert-err33-c,
    -cert-err34-c,
    -cert-err58-cpp,
    -cert-exp42-c,
    -cert-flp30-c,
    -cert-flp37-c,
    -cert-int09-c,
    -cert-msc30-c,
    -cert-msc32-c,
    -cert-msc50-cpp,
    -cert-msc51-cpp,
    -cert-oop54-cpp,
    -cert-str34-c,
    -clang-analyzer-core.CallAndMessage,
    -clang-analyzer-core.NonNullParamChecker,
    -clang-analyzer-core.NullDereference,
    -clang-analyzer-core.UndefinedBinaryOperatorResult,
    -clang-analyzer-core.uninitialized.Assign,
    -clang-analyzer-core.uninitialized.Branch,
    -clang-analyzer-cplusplus.InnerPointer,
    -clang-analyzer-deadcode.DeadStores,
    -clang-analyzer-optin.core.EnumCastOutOfRange,
    -clang-analyzer-optin.cplusplus.UninitializedObject,
    -clang-analyzer-optin.performance.Padding,
    -clang-analyzer-optin.portability.UnixAPI,
    -clang-analyzer-security.FloatLoopCounter,
    -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
    -clang-analyzer-security.insecureAPI.strcpy,
    -clang-analyzer-unix.Malloc,
    -clang-analyzer-unix.StdCLibraryFunctions,
    -clang-diagnostic-newline-eof,
    -concurrency-mt-unsafe,
    -hicpp-avoid-c-arrays,
    -hicpp-braces-around-statements,
    -hicpp-deprecated-headers,
    -hicpp-explicit-conversions,
    -hicpp-function-size,
    -hicpp-member-init,
    -hicpp-move-const-arg,
    -hicpp-multiway-paths-covered,
    -hicpp-named-parameter,
    -hicpp-no-array-decay,
    -hicpp-no-malloc,
    -hicpp-noexcept-move,
    -hicpp-signed-bitwise,
    -hicpp-special-member-functions,
    -hicpp-static-assert,
    -hicpp-uppercase-literal-suffix,
    -hicpp-use-auto,
    -hicpp-use-emplace,
    -hicpp-use-equals-default,
    -hicpp-use-nullptr,
    -hicpp-use-override,
    -hicpp-vararg,
    -misc-const-correctness,
    -misc-header-include-cycle,
    -misc-include-cleaner,
    -misc-misplaced-const,
    -misc-no-recursion,
    -misc-non-private-member-variables-in-classes,
    -misc-redundant-expression,
    -misc-static-assert,
    -misc-unused-parameters,
    -misc-unused-using-decls,
    -misc-unusedparameters,
    -misc-use-anonymous-namespace,
    -misc-use-internal-linkage,
    -modernize-avoid-c-arrays,
    -modernize-concat-nested-namespaces,
    -modernize-deprecated-headers,
    -modernize-loop-convert,
    -modernize-macro-to-enum,
    -modernize-min-max-use-initializer-list,
    -modernize-pass-by-value,
    -modernize-raw-string-literal,
    -modernize-redundant-void-arg,
    -modernize-return-braced-init-list,
    -modernize-type-traits,
    -modernize-use-auto,
    -modernize-use-bool-literals,
    -modernize-use-constraints,
    -modernize-use-designated-initializers,
    -modernize-use-emplace,
    -modernize-use-equals-default,
    -modernize-use-nodiscard,
    -modernize-use-nullptr,
    -modernize-use-override,
    -modernize-use-ranges,
    -modernize-use-std-numbers,
    -modernize-use-trailing-return-type,
    -modernize-use-transparent-functors,
    -modernize-use-using,
    -performance-avoid-endl,
    -performance-enum-size,
    -performance-inefficient-string-concatenation,
    -performance-inefficient-vector-operation,
    -performance-move-const-arg,
    -performance-no-int-to-ptr,
    -performance-noexcept-move-constructor,
    -performance-type-promotion-in-math-fn,
    -performance-unnecessary-copy-initialization,
    -performance-unnecessary-value-param,
    -readability-avoid-const-params-in-decls,
    -readability-avoid-nested-conditional-operator,
    -readability-avoid-return-with-void-value,
    -readability-avoid-unconditional-preprocessor-if,
    -readability-braces-around-statements,
    -readability-const-return-type,
    -readability-container-contains,
    -readability-container-data-pointer,
    -readability-container-size-empty,
    -readability-convert-member-functions-to-static,
    -readability-duplicate-include,
    -readability-else-after-return,
    -readability-enum-initial-value,
    -readability-function-cognitive-complexity,
    -readability-function-size,
    -readability-identifier-length,
    -readability-implicit-bool-conversion,
    -readability-inconsistent-declaration-parameter-name,
    -readability-isolate-declaration,
    -readability-magic-numbers,
    -readability-make-member-function-const,
    -readability-math-missing-parentheses,
    -readability-named-parameter,
    -readability-non-const-parameter,
    -readability-qualified-auto,
    -readability-redundant-access-specifiers,
    -readability-redundant-casting,
    -readability-redundant-control-flow,
    -readability-redundant-declaration,
    -readability-redundant-inline-specifier,
    -readability-redundant-member-init,
    -readability-simplify-boolean-expr,
    -readability-static-accessed-through-instance,
    -readability-static-definition-in-anonymous-namespace,
    -readability-suspicious-call-argument,
    -readability-uppercase-literal-suffix,
    -readability-use-anyofallof,
    -readability-use-std-min-max,

WarningsAsErrors: '*'
HeaderFilterRegex: ''
FormatStyle:     file
