2021-09-20 00:46:18 +03:00
|
|
|
---
|
|
|
|
# Globally Disabled checks:
|
|
|
|
#
|
|
|
|
# bugprone-easily-swappable-parameters: This warning is loud with no clear advice on how to fix the potential problem
|
|
|
|
# FIXME: bugprone-macro-parentheses: Enable with clang-tidy-14 when NOLINTBEGIN/NOLINTEND are available for code generating macros
|
|
|
|
# bugprone-reserved-identifier: LibC headers that show up in the header filter are part of "the implementation"
|
|
|
|
# cert-dcl37-c: Alias for bugprone-reserved-identifier
|
|
|
|
# cert-dcl51-cpp: Alias for bugprone-reserved-identifier
|
|
|
|
# cert-dcl21-cpp: No reference to this rule exists on Carnegie Mellon's SEI CERT C++ Confluence. And the suggestion is unusual
|
2023-03-18 16:23:36 +03:00
|
|
|
# misc-no-recursion: The project uses recursive algorithms in several places.
|
2021-09-20 00:46:18 +03:00
|
|
|
# FIXME: misc-non-private-member-variables-in-classes: Audit uses of protected member variables to see if they really need to be protected
|
|
|
|
# performance-noexcept-move-constructor: The project does not use exceptions, so there are no such optimizations available
|
|
|
|
# performance-no-int-to-ptr: This rule flags every pointer to integer cast, which gets quite noisy. Should only be enabled on a case-by-case basis
|
|
|
|
# readability-braces-around-statements: Redundant braces around single-line conditions is against project style
|
|
|
|
# readability-magic-numbers: This check is very noisy in the codebase, especially in AK.
|
|
|
|
# readability-named-parameter: We frequently omit parameter names to work around -Wunused-parameter
|
|
|
|
# FIXME: readability-uppercase-literal-suffix: Enable this check, the rationale is solid but the findings are numerous
|
|
|
|
#
|
|
|
|
Checks: >
|
|
|
|
-*,
|
|
|
|
bugprone-*,
|
|
|
|
cert-*,
|
|
|
|
clang-analyzer-*,
|
|
|
|
concurrency-*,
|
|
|
|
misc-*,
|
|
|
|
performance-*,
|
|
|
|
portability-*,
|
|
|
|
readability-*,
|
|
|
|
-bugprone-easily-swappable-parameters,
|
|
|
|
-bugprone-macro-parentheses,
|
|
|
|
-bugprone-reserved-identifier,-cert-dcl37-c,-cert-dcl51-cpp,
|
|
|
|
-cert-dcl21-cpp,
|
2023-03-18 16:23:36 +03:00
|
|
|
-misc-no-recursion,
|
2021-09-20 00:46:18 +03:00
|
|
|
-misc-non-private-member-variables-in-classes,
|
2023-08-17 17:57:02 +03:00
|
|
|
-misc-use-anonymous-namespace,
|
2021-09-20 00:46:18 +03:00
|
|
|
-performance-noexcept-move-constructor,
|
|
|
|
-performance-no-int-to-ptr,
|
|
|
|
-readability-braces-around-statements,
|
2021-11-20 18:08:40 +03:00
|
|
|
-readability-identifier-length,
|
2021-09-20 00:46:18 +03:00
|
|
|
-readability-magic-numbers,
|
|
|
|
-readability-named-parameter,
|
|
|
|
-readability-uppercase-literal-suffix,
|
2022-01-09 17:34:38 +03:00
|
|
|
-readability-use-anyofallof,
|
2021-09-20 00:46:18 +03:00
|
|
|
WarningsAsErrors: ''
|
|
|
|
HeaderFilterRegex: 'AK|Userland|Kernel|Tests'
|
|
|
|
FormatStyle: none
|
|
|
|
CheckOptions:
|
2021-12-10 20:49:10 +03:00
|
|
|
- key: bugprone-dangling-handle.HandleClasses
|
|
|
|
value: 'AK::StringView;AK::Span'
|
2021-09-20 00:46:18 +03:00
|
|
|
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
|
|
|
|
value: true
|
|
|
|
- key: readability-implicit-bool-conversion.AllowPointerConditions
|
|
|
|
value: true
|
|
|
|
- key: readability-function-cognitive-complexity.Threshold
|
|
|
|
value: 100 # FIXME: Lower this (30? 50?), and refactor complex functions
|