From aba189620a703540606e759bf640aeb5c3a97e99 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 18 Mar 2024 10:19:14 +0100 Subject: [PATCH 1/4] Document new clang-tidy checkers --- config/labels/analyzers/clang-tidy.json | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/config/labels/analyzers/clang-tidy.json b/config/labels/analyzers/clang-tidy.json index c656e08c29..bc4f3d80e9 100644 --- a/config/labels/analyzers/clang-tidy.json +++ b/config/labels/analyzers/clang-tidy.json @@ -695,6 +695,12 @@ "sei-cert:mem51-cpp", "severity:MEDIUM" ], + "bugprone-unused-local-non-trivial-variable": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.html", + "profile:extreme", + "profile:sensitive", + "severity:LOW" + ], "bugprone-unused-raii": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/unused-raii.html", "profile:default", @@ -6379,6 +6385,14 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/avoid-const-params-in-decls.html", "severity:STYLE" ], + "readability-avoid-nested-conditional-operator": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/avoid-nested-conditional-operator.html", + "severity:STYLE" + ], + "readability-avoid-return-with-void-value": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/avoid-return-with-void-value.html", + "severity:LOW" + ], "readability-avoid-unconditional-preprocessor-if": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.html", "severity:STYLE" @@ -6493,6 +6507,10 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-access-specifiers.html", "severity:STYLE" ], + "readability-redundant-casting": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-casting.html", + "severity:STYLE" + ], "readability-redundant-control-flow": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-control-flow.html", "severity:STYLE" @@ -6505,6 +6523,14 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-function-ptr-dereference.html", "severity:STYLE" ], + "readability-redundant-casting": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-casting.html", + "severity:STYLE" + ], + "readability-redundant-inline-specifier": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-inline-specifier.html", + "severity:STYLE" + ], "readability-redundant-member-init": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-member-init.html", "severity:STYLE" From db1c5aa6ecde5c1638e214626ceecef11f09333f Mon Sep 17 00:00:00 2001 From: Whisperity Date: Tue, 2 Apr 2024 17:55:50 +0200 Subject: [PATCH 2/4] Document new clang-tidy checks --- config/labels/analyzers/clang-tidy.json | 44 ++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/config/labels/analyzers/clang-tidy.json b/config/labels/analyzers/clang-tidy.json index bc4f3d80e9..9242560c36 100644 --- a/config/labels/analyzers/clang-tidy.json +++ b/config/labels/analyzers/clang-tidy.json @@ -210,6 +210,13 @@ "profile:sensitive", "severity:MEDIUM" ], + "bugprone-chained-comparison": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/chained-comparison.html", + "profile:default", + "profile:extreme", + "profile:sensitive", + "severity:LOW" + ], "bugprone-compare-pointer-to-member-virtual-function": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.html", "profile:default", @@ -224,6 +231,12 @@ "profile:sensitive", "severity:MEDIUM" ], + "bugprone-crtp-constructor-accessibility": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/crtp-constructor-accessibility.html", + "profile:extreme", + "profile:sensitive", + "severity:LOW" + ], "bugprone-dangling-handle": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/dangling-handle.html", "profile:default", @@ -610,6 +623,13 @@ "profile:sensitive", "severity:MEDIUM" ], + "bugprone-suspicious-stringview-data-usage": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.html", + "profile:default", + "profile:extreme", + "profile:sensitive", + "severity:HIGH" + ], "bugprone-swapped-arguments": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/bugprone/swapped-arguments.html", "profile:default", @@ -5500,6 +5520,10 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/hicpp/function-size.html", "severity:LOW" ], + "hicpp-ignored-remove-result": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/hicpp/ignored-remove-result.html", + "severity:MEDIUM" + ], "hicpp-invalid-access-moved": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/hicpp/invalid-access-moved.html", "severity:HIGH" @@ -6147,6 +6171,10 @@ "profile:extreme", "severity:STYLE" ], + "modernize-use-designated-initializers": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-designated-initializers.html", + "severity:STYLE" + ], "modernize-use-nodiscard": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-nodiscard.html", "profile:extreme", @@ -6443,6 +6471,14 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/else-after-return.html", "severity:STYLE" ], + "readability-enum-initial-value": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/enum-initial-value.html", + "guideline:sei-cert", + "profile:sensitive", + "profile:extreme", + "sei-cert:int09-c", + "severity:LOW" + ], "readability-function-cognitive-complexity": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/function-cognitive-complexity.html", "severity:STYLE" @@ -6523,10 +6559,6 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-function-ptr-dereference.html", "severity:STYLE" ], - "readability-redundant-casting": [ - "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-casting.html", - "severity:STYLE" - ], "readability-redundant-inline-specifier": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-inline-specifier.html", "severity:STYLE" @@ -6599,6 +6631,10 @@ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/use-anyofallof.html", "severity:STYLE" ], + "readability-use-std-min-max": [ + "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/readability/use-std-min-max.html", + "severity:STYLE" + ], "zircon-temporary-objects": [ "doc_url:https://clang.llvm.org/extra/clang-tidy/checks/zircon/temporary-objects.html", "severity:STYLE" From 7ffe3e9dc10b60ad98e93e04081294e0dc81009a Mon Sep 17 00:00:00 2001 From: Whisperity Date: Fri, 5 Apr 2024 13:35:13 +0200 Subject: [PATCH 3/4] Document new Clang SA checkers --- config/labels/analyzers/clangsa.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config/labels/analyzers/clangsa.json b/config/labels/analyzers/clangsa.json index 6558124817..711f31760a 100644 --- a/config/labels/analyzers/clangsa.json +++ b/config/labels/analyzers/clangsa.json @@ -88,6 +88,14 @@ "profile:sensitive", "severity:MEDIUM" ], + "alpha.cplusplus.ArrayDelete": [ + "doc_url:https://clang.llvm.org/docs/analyzer/checkers.html#alpha-cplusplus-arraydelete-c", + "guideline:sei-cert", + "profile:extreme", + "profile:sensitive", + "sei-cert:exp51-cpp", + "severity:HIGH" + ], "alpha.cplusplus.ContainerModeling": [ "profile:extreme", "profile:sensitive" @@ -496,6 +504,15 @@ "profile:extreme", "severity:HIGH" ], + "cplusplus.ArrayDelete": [ + "doc_url:https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-arraydelete-c", + "guideline:sei-cert", + "profile:default", + "profile:extreme", + "profile:sensitive", + "sei-cert:exp51-cpp", + "severity:HIGH" + ], "cplusplus.InnerPointer": [ "doc_url:https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-innerpointer-c", "guideline:sei-cert", @@ -672,6 +689,12 @@ "profile:sensitive", "severity:MEDIUM" ], + "optin.core.EnumCastOutOfRange": [ + "doc_url:https://clang.llvm.org/docs/analyzer/checkers.html#optin-core-enumcastoutofrange-c-c", + "profile:extreme", + "profile:sensitive", + "severity:MEDIUM" + ], "optin.cplusplus.UninitializedObject": [ "doc_url:https://clang.llvm.org/docs/analyzer/checkers.html#optin-cplusplus-uninitializedobject-c", "profile:default", From a8208b8e2657239d416ede3b2273b27e3088bd96 Mon Sep 17 00:00:00 2001 From: Whisperity Date: Fri, 5 Apr 2024 13:35:27 +0200 Subject: [PATCH 4/4] Add cppcheck analysis errors to `CRITICAL` severity --- config/labels/analyzers/cppcheck.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/labels/analyzers/cppcheck.json b/config/labels/analyzers/cppcheck.json index eb421297f9..4d592bb0a5 100644 --- a/config/labels/analyzers/cppcheck.json +++ b/config/labels/analyzers/cppcheck.json @@ -183,6 +183,9 @@ "profile:default", "severity:HIGH" ], + "cppcheck-cppcheckLimit": [ + "severity:CRITICAL" + ], "cppcheck-cstyleCast": [ "severity:STYLE" ], @@ -333,10 +336,19 @@ "cppcheck-initializerList": [ "severity:STYLE" ], + "cppcheck-instantiationError": [ + "severity:CRITICAL" + ], "cppcheck-integerOverflow": [ "profile:default", "severity:HIGH" ], + "cppcheck-internalAstError": [ + "severity:CRITICAL" + ], + "cppcheck-internalError": [ + "severity:CRITICAL" + ], "cppcheck-invalidContainer": [ "profile:default", "severity:HIGH" @@ -930,6 +942,9 @@ "profile:default", "severity:MEDIUM" ], + "cppcheck-syntaxError": [ + "severity:CRITICAL" + ], "cppcheck-thisSubtraction": [ "profile:default", "severity:MEDIUM" @@ -992,6 +1007,9 @@ "profile:default", "severity:HIGH" ], + "cppcheck-unknownMacro": [ + "severity:CRITICAL" + ], "cppcheck-unknownSignCharArrayIndex": [ "severity:LOW" ],