# SPDX-License-Identifier: LGPL-2.1-or-later
---
Checks: '
    -*,
    bugprone-argument-comment,
    bugprone-chained-comparison,
    bugprone-integer-division,
    bugprone-misplaced-operator-in-strlen-in-alloc,
    bugprone-misplaced-pointer-arithmetic-in-alloc,
    bugprone-posix-return,
    bugprone-redundant-branch-condition,
    bugprone-sizeof-expression,
    bugprone-suspicious-enum-usage,
    bugprone-suspicious-semicolon,
    bugprone-suspicious-string-compare,
    bugprone-swapped-arguments,
    bugprone-tautological-type-limits,
    bugprone-unused-return-value,
    misc-header-include-cycle,
    misc-include-cleaner,
    misc-misplaced-const,
    misc-use-internal-linkage,
    readability-avoid-const-params-in-decls,
    readability-const-return-type,
    readability-duplicate-include,
    readability-inconsistent-declaration-parameter-name,
    readability-misleading-indentation,
    readability-named-parameter,
    readability-redundant-casting,
    readability-redundant-declaration,
    readability-redundant-function-ptr-dereference
'
CheckOptions:
  misc-include-cleaner.MissingIncludes: 'false'
  # These all lead to common false positives by clang-tidy where it tries to
  # remove these includes even though they're required in some situations (many
  # of them related to musl).
  misc-include-cleaner.IgnoreHeaders: '
    endian\.h;
    getopt\.h;
    sys/stat\.h;
    sys/statvfs\.h;
    sys/syscall\.h;
    sys/timex\.h;
    sys/uio\.h;
    netinet/in\.h;
    net/if\.h;
    net/if_arp\.h;
    runtime-scope\.h;
    varlink-io\.systemd\..*;
    varlink-idl-common\.h;
    unistd\.h
'
  misc-header-include-cycle.IgnoredFilesList: 'glib-2.0'
WarningsAsErrors: '*'
ExcludeHeaderFilterRegex: 'blkid\.h|gmessages\.h|gstring\.h'
HeaderFileExtensions:
  - h
ImplementationFileExtensions:
  - c
...
