0ad/source/tools/lint/clang-tidy/config.yml
Ralph Sennhauser 91a4b834a8
Add clang-tidy linting script
Add groups we might be interested in and disable failing checks.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2026-07-21 17:15:07 +02:00

148 lines
5.3 KiB
YAML

---
Checks:
# Some version of clang-tidy leak system configuration, so clear all checks first.
- -*
- bugprone-*
- -bugprone-assignment-in-if-condition
- -bugprone-branch-clone
- -bugprone-casting-through-void
- -bugprone-copy-constructor-init
- -bugprone-crtp-constructor-accessibility
- -bugprone-derived-method-shadowing-base-method
- -bugprone-easily-swappable-parameters
- -bugprone-exception-escape
- -bugprone-fold-init-type
- -bugprone-implicit-widening-of-multiplication-result
- -bugprone-inaccurate-erase
- -bugprone-inc-dec-in-conditions
- -bugprone-incorrect-roundings
- -bugprone-integer-division
- -bugprone-invalid-enum-default-initialization
- -bugprone-macro-parentheses
- -bugprone-multi-level-implicit-pointer-conversion
- -bugprone-narrowing-conversions
- -bugprone-non-zero-enum-to-bool-conversion
- -bugprone-nondeterministic-pointer-iteration-order
- -bugprone-parent-virtual-call
- -bugprone-pointer-arithmetic-on-polymorphic-object
- -bugprone-random-generator-seed
- -bugprone-reserved-identifier
- -bugprone-return-const-ref-from-parameter
- -bugprone-signed-char-misuse
- -bugprone-std-namespace-modification
- -bugprone-string-integer-assignment
- -bugprone-suspicious-include
- -bugprone-suspicious-memory-comparison
- -bugprone-suspicious-semicolon
- -bugprone-suspicious-stringview-data-usage
- -bugprone-switch-missing-default-case
- -bugprone-throwing-static-initialization
- -bugprone-too-small-loop-variable
- -bugprone-unchecked-optional-access
- -bugprone-unhandled-self-assignment
- -bugprone-unsafe-functions
- -bugprone-unused-local-non-trivial-variable
- -bugprone-use-after-move
- cppcoreguidelines-*
- -cppcoreguidelines-avoid-c-arrays
- -cppcoreguidelines-avoid-const-or-ref-data-members
- -cppcoreguidelines-avoid-do-while
- -cppcoreguidelines-avoid-goto
- -cppcoreguidelines-avoid-magic-numbers
- -cppcoreguidelines-avoid-non-const-global-variables
- -cppcoreguidelines-avoid-reference-coroutine-parameters
- -cppcoreguidelines-explicit-virtual-functions
- -cppcoreguidelines-init-variables
- -cppcoreguidelines-interfaces-global-init
- -cppcoreguidelines-macro-to-enum
- -cppcoreguidelines-macro-usage
- -cppcoreguidelines-missing-std-forward
- -cppcoreguidelines-narrowing-conversions
- -cppcoreguidelines-no-malloc
- -cppcoreguidelines-noexcept-move-operations
- -cppcoreguidelines-noexcept-swap
- -cppcoreguidelines-non-private-member-variables-in-classes
- -cppcoreguidelines-owning-memory
- -cppcoreguidelines-prefer-member-initializer
- -cppcoreguidelines-pro-bounds-array-to-pointer-decay
- -cppcoreguidelines-pro-bounds-avoid-unchecked-container-access
- -cppcoreguidelines-pro-bounds-constant-array-index
- -cppcoreguidelines-pro-bounds-pointer-arithmetic
- -cppcoreguidelines-pro-type-const-cast
- -cppcoreguidelines-pro-type-cstyle-cast
- -cppcoreguidelines-pro-type-member-init
- -cppcoreguidelines-pro-type-reinterpret-cast
- -cppcoreguidelines-pro-type-static-cast-downcast
- -cppcoreguidelines-pro-type-union-access
- -cppcoreguidelines-pro-type-vararg
- -cppcoreguidelines-rvalue-reference-param-not-moved
- -cppcoreguidelines-slicing
- -cppcoreguidelines-special-member-functions
- -cppcoreguidelines-use-default-member-init
- -cppcoreguidelines-use-enum-class
- -cppcoreguidelines-virtual-class-destructor
- modernize-*
- -modernize-avoid-bind
- -modernize-avoid-c-arrays
- -modernize-avoid-c-style-cast
- -modernize-avoid-setjmp-longjmp
- -modernize-avoid-variadic-functions
- -modernize-concat-nested-namespaces
- -modernize-deprecated-headers
- -modernize-loop-convert
- -modernize-macro-to-enum
- -modernize-make-shared
- -modernize-make-unique
- -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-default-member-init
- -modernize-use-designated-initializers
- -modernize-use-emplace
- -modernize-use-equals-default
- -modernize-use-equals-delete
- -modernize-use-integer-sign-comparison
- -modernize-use-nodiscard
- -modernize-use-noexcept
- -modernize-use-nullptr
- -modernize-use-override
- -modernize-use-ranges
- -modernize-use-scoped-lock
- -modernize-use-starts-ends-with
- -modernize-use-std-numbers
- -modernize-use-trailing-return-type
- -modernize-use-transparent-functors
- -modernize-use-using
- performance-*
- -performance-avoid-endl
- -performance-enum-size
- -performance-faster-string-find
- -performance-for-range-copy
- -performance-inefficient-vector-operation
- -performance-move-const-arg
- -performance-move-constructor-init
- -performance-no-automatic-move
- -performance-no-int-to-ptr
- -performance-noexcept-move-constructor
- -performance-noexcept-swap
- -performance-type-promotion-in-math-fn
- -performance-unnecessary-copy-initialization
- -performance-unnecessary-value-param
WarningsAsErrors: ''
HeaderFileExtensions:
- h
ImplementationFileExtensions:
- cpp
HeaderFilterRegex: '.*'
ExcludeHeaderFilterRegex: '.*third_party.*'
FormatStyle: none
User: 'clang-tidy'
CheckOptions: {}
SystemHeaders: false
...