From 23c9af20dacd86a3437590da0c64f5d18f14b111 Mon Sep 17 00:00:00 2001 From: Ramon Roche Date: Wed, 4 Feb 2026 21:24:11 +0100 Subject: [PATCH] clang-tidy: disable new checks for v18 compatibility Update .clang-tidy configuration to maintain compatibility with clang-tidy 18 in the new px4io/px4-dev:v1.17.0-alpha1 container. The previous CI container used clang-tidy 6.0 (2018) with ~213 checks. The new container has clang-tidy 18 (2024) with ~537 checks - adding ~324 new checks that would fail without configuration changes. This commit disables the new checks to preserve the existing code quality baseline. The disabled checks can be evaluated and enabled incrementally in future PRs as the codebase is updated to comply. New checks disabled (partial list): - bugprone-assignment-in-if-condition - bugprone-casting-through-void - bugprone-multi-level-implicit-pointer-conversion - cppcoreguidelines-avoid-do-while - cppcoreguidelines-avoid-goto - cppcoreguidelines-avoid-non-const-global-variables - misc-definitions-in-headers - misc-header-include-cycle - misc-no-recursion - modernize-macro-to-enum - modernize-type-traits - performance-enum-size - readability-avoid-nested-conditional-operator - readability-convert-member-functions-to-static - readability-redundant-string-init - readability-simplify-boolean-expr - (and ~35 more) See full list in .clang-tidy. Each check is prefixed with '-' to disable it while keeping WarningsAsErrors: '*' active for enabled checks. Signed-off-by: Ramon Roche --- .clang-tidy | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.clang-tidy b/.clang-tidy index 6507139938..9293603c71 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -137,6 +137,57 @@ Checks: '*, -readability-uppercase-literal-suffix, -bugprone-narrowing-conversions, -cppcoreguidelines-narrowing-conversions, + -bugprone-switch-missing-default-case, + -cppcoreguidelines-avoid-goto, + -hicpp-avoid-goto, + -bugprone-branch-clone, + -bugprone-unhandled-self-assignment, + -cert-oop54-cpp, + -performance-enum-size, + -readability-avoid-nested-conditional-operator, + -cppcoreguidelines-prefer-member-initializer, + -cppcoreguidelines-explicit-virtual-functions, + -cppcoreguidelines-virtual-class-destructor, + -readability-convert-member-functions-to-static, + -readability-make-member-function-const, + -bugprone-assignment-in-if-condition, + -bugprone-implicit-widening-of-multiplication-result, + -bugprone-incorrect-roundings, + -bugprone-macro-parentheses, + -bugprone-multi-level-implicit-pointer-conversion, + -bugprone-signed-char-misuse, + -bugprone-too-small-loop-variable, + -cppcoreguidelines-avoid-non-const-global-variables, + -cppcoreguidelines-use-default-member-init, + -hicpp-multiway-paths-covered, + -hicpp-named-parameter, + -misc-header-include-cycle, + -misc-no-recursion, + -performance-no-int-to-ptr, + -readability-avoid-return-with-void-value, + -readability-avoid-unconditional-preprocessor-if, + -readability-delete-null-pointer, + -readability-duplicate-include, + -readability-redundant-casting, + -readability-redundant-member-init, + -readability-reference-to-constructed-temporary, + -readability-simplify-boolean-expr, + -bugprone-unsafe-functions, + -cert-msc24-c, + -cert-msc32-c, + -cert-msc33-c, + -cert-msc51-cpp, + -cert-str34-c, + -cppcoreguidelines-macro-to-enum, + -modernize-macro-to-enum, + -abseil-string-find-str-contains, + -bugprone-suspicious-include, + -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling, + -clang-analyzer-optin.core.EnumCastOutOfRange, + -modernize-type-traits, + -misc-definitions-in-headers, + -bugprone-casting-through-void, + -readability-redundant-string-init, ' WarningsAsErrors: '*' CheckOptions: