From 5c38cc00d9560c196a1d820f6d84dca1b1859d05 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 May 2023 18:10:18 +0800 Subject: [PATCH] Add support for clang-tidy --- .clang-tidy | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .clang-tidy diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 000000000..5143187d0 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,82 @@ +Checks: > + bugprone-*, + cert-*, + concurrency-*, + cppcoreguidelines-*, + misc-*, + modernize-*, + performance-*, + portability-*, + readability-*, + -# not applicable at all, + -bugprone-easily-swappable-parameters, + -bugprone-implicit-widening-of-multiplication-result, + -bugprone-macro-parentheses, + -cppcoreguidelines-avoid-c-arrays, + -cppcoreguidelines-avoid-magic-numbers, + -cppcoreguidelines-avoid-non-const-global-variables, + -cppcoreguidelines-macro-usage, + -cppcoreguidelines-non-private-member-variables-in-classes, + -cppcoreguidelines-owning-memory, + -cppcoreguidelines-pro-bounds-array-to-pointer-decay, + -cppcoreguidelines-pro-bounds-constant-array-index, + -cppcoreguidelines-pro-bounds-pointer-arithmetic, + -cppcoreguidelines-pro-type-const-cast, + -cppcoreguidelines-pro-type-reinterpret-cast, + -cppcoreguidelines-pro-type-union-access, + -cppcoreguidelines-pro-type-vararg, + -cppcoreguidelines-special-member-functions, + -cppcoreguidelines-virtual-class-destructor, + -misc-no-recursion, + -misc-non-private-member-variables-in-classes, + -misc-unused-parameters, + -modernize-avoid-c-arrays, + -modernize-pass-by-value, + -modernize-use-auto, + -modernize-use-nodiscard, + -modernize-use-trailing-return-type, + -modernize-use-using, + -readability-function-cognitive-complexity, + -readability-function-size, + -readability-identifier-length, + -readability-implicit-bool-conversion, + -readability-isolate-declaration, + -readability-magic-numbers, + -readability-named-parameter, + -readability-redundant-access-specifiers, + -readability-simplify-boolean-expr, + -readability-uppercase-literal-suffix, + -# only sometimes useful, + -bugprone-narrowing-conversions, + -cert-dcl58-cpp, + -cert-err33-c, + -cert-err58-cpp, + -clang-analyzer-core.CallAndMessage, + -clang-analyzer-cplusplus.NewDelete, + -clang-analyzer-cplusplus.NewDeleteLeaks, + -concurrency-mt-unsafe, + -cppcoreguidelines-init-variables, + -cppcoreguidelines-narrowing-conversions, + -cppcoreguidelines-prefer-member-initializer, + -cppcoreguidelines-pro-type-static-cast-downcast, + -misc-definitions-in-headers, + -modernize-concat-nested-namespaces, + -modernize-loop-convert, + -modernize-raw-string-literal, + -modernize-unary-static-assert, + -performance-no-automatic-move, + -readability-convert-member-functions-to-static, + -readability-else-after-return, + -readability-redundant-declaration, + -# obsoleted, + -cert-dcl21-cpp + +CheckOptions: + - { key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors, value: true } + - { key: modernize-use-override.IgnoreDestructors, value: true } + - { key: performance-for-range-copy.AllowedTypes, value: "QJsonValue" } + - { key: performance-for-range-copy.WarnOnAllAutoCopies, value: true } + - { key: readability-braces-around-statements.ShortStatementLines, value: 3 } + +HeaderFilterRegex: ".+/src/.*\\.h" +WarningsAsErrors: "*"