From 8987996500adea77ac494da5c70e2e489d907353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= Date: Thu, 10 Dec 2020 07:32:46 +0100 Subject: [PATCH] clang-tidy: Suppress clang warnings Those warnings should be printed via the clang code model, which can be fine tuned to (de-)activate warnings. The clang-diagnostic-* warnings from clang-tidy are not shown in the dialog an thus can not be selectivly activated by the user. Change-Id: I80b2cad227a9fd8fa0de253c73c40abfa8076be6 Reviewed-by: David Schulz Reviewed-by: Christian Kandeler --- .../clangtools/clangtidyclazyrunner.cpp | 6 ++--- src/plugins/clangtools/clangtool.cpp | 3 --- .../clangtools/clang.unused-parameter.cpp | 5 ---- .../data/clangtools/clang.unused-parameter.h | 1 - .../clangtools/clang.unused-parameter.yaml | 10 -------- .../clang.unused-parameter_win.yaml | 10 -------- .../unittest/readexporteddiagnostics-test.cpp | 23 ------------------- 7 files changed, 3 insertions(+), 55 deletions(-) delete mode 100644 tests/unit/unittest/data/clangtools/clang.unused-parameter.cpp delete mode 100644 tests/unit/unittest/data/clangtools/clang.unused-parameter.h delete mode 100644 tests/unit/unittest/data/clangtools/clang.unused-parameter.yaml delete mode 100644 tests/unit/unittest/data/clangtools/clang.unused-parameter_win.yaml diff --git a/src/plugins/clangtools/clangtidyclazyrunner.cpp b/src/plugins/clangtools/clangtidyclazyrunner.cpp index 298b1d3ef90..9ad557f99bc 100644 --- a/src/plugins/clangtools/clangtidyclazyrunner.cpp +++ b/src/plugins/clangtools/clangtidyclazyrunner.cpp @@ -58,10 +58,10 @@ static QStringList tidyChecksArguments(const ClangDiagnosticConfig diagnosticCon const ClangDiagnosticConfig::TidyMode tidyMode = diagnosticConfig.clangTidyMode(); // The argument "-config={}" stops stating/evaluating the .clang-tidy file. if (tidyMode == ClangDiagnosticConfig::TidyMode::UseDefaultChecks) - return {"-config={}"}; + return {"-config={}", "-checks=-clang-diagnostic-*"}; if (tidyMode == ClangDiagnosticConfig::TidyMode::UseCustomChecks) - return {"-config={}", "-checks=" + diagnosticConfig.clangTidyChecks()}; - return {"--warnings-as-errors=-*"}; + return {"-config={}", "-checks=" + diagnosticConfig.clangTidyChecks() + ",-clang-diagnostic-*"}; + return {"--warnings-as-errors=-*", "-check=-clang-diagnostic-*"}; } static QStringList clazyChecksArguments(const ClangDiagnosticConfig diagnosticConfig) diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp index 882e3092a97..653989ad7c4 100644 --- a/src/plugins/clangtools/clangtool.cpp +++ b/src/plugins/clangtools/clangtool.cpp @@ -960,9 +960,6 @@ void ClangTool::filter() if (check.name.isEmpty()) { check.name = checkName; check.displayName = checkName; - const QString clangDiagPrefix = "clang-diagnostic-"; - if (check.displayName.startsWith(clangDiagPrefix)) - check.displayName = QString("-W%1").arg(check.name.mid(clangDiagPrefix.size())); check.count = 1; check.isShown = filterOptions ? filterOptions->checks.contains(checkName) : true; check.hasFixit = check.hasFixit || item->diagnostic().hasFixits; diff --git a/tests/unit/unittest/data/clangtools/clang.unused-parameter.cpp b/tests/unit/unittest/data/clangtools/clang.unused-parameter.cpp deleted file mode 100644 index 80d9047c52a..00000000000 --- a/tests/unit/unittest/data/clangtools/clang.unused-parameter.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// clang-tidy -export-fixes=clang.unused-parameter.yaml clang.unused-parameter.cpp -- -Wunused-parameter -#include "clang.unused-parameter.h" - -void g(int g) {} - diff --git a/tests/unit/unittest/data/clangtools/clang.unused-parameter.h b/tests/unit/unittest/data/clangtools/clang.unused-parameter.h deleted file mode 100644 index 39d55b8fcec..00000000000 --- a/tests/unit/unittest/data/clangtools/clang.unused-parameter.h +++ /dev/null @@ -1 +0,0 @@ -void f(int i) {} diff --git a/tests/unit/unittest/data/clangtools/clang.unused-parameter.yaml b/tests/unit/unittest/data/clangtools/clang.unused-parameter.yaml deleted file mode 100644 index 6622953a2f9..00000000000 --- a/tests/unit/unittest/data/clangtools/clang.unused-parameter.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -MainSourceFile: 'FILE_PATH' -Diagnostics: - - DiagnosticName: clang-diagnostic-unused-parameter - DiagnosticMessage: - Message: 'unused parameter ''g''' - FilePath: 'FILE_PATH' - FileOffset: 153 - Replacements: [] -... diff --git a/tests/unit/unittest/data/clangtools/clang.unused-parameter_win.yaml b/tests/unit/unittest/data/clangtools/clang.unused-parameter_win.yaml deleted file mode 100644 index 5dace9ea059..00000000000 --- a/tests/unit/unittest/data/clangtools/clang.unused-parameter_win.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -MainSourceFile: 'FILE_PATH' -Diagnostics: - - DiagnosticName: clang-diagnostic-unused-parameter - DiagnosticMessage: - Message: 'unused parameter ''g''' - FilePath: 'FILE_PATH' - FileOffset: 156 - Replacements: [] -... diff --git a/tests/unit/unittest/readexporteddiagnostics-test.cpp b/tests/unit/unittest/readexporteddiagnostics-test.cpp index f62727a6175..a3bdef3a6f4 100644 --- a/tests/unit/unittest/readexporteddiagnostics-test.cpp +++ b/tests/unit/unittest/readexporteddiagnostics-test.cpp @@ -146,29 +146,6 @@ TEST_F(ReadExportedDiagnostics, AcceptDiagsFromFilePaths_None) ASSERT_THAT(diags, IsEmpty()); } -// Diagnostics from clang passed through via clang-tidy -TEST_F(ReadExportedDiagnostics, Tidy_Clang) -{ - const QString sourceFile = TESTDATA "clang.unused-parameter.cpp"; - const QString yamlSuffix - = QLatin1String(Utils::HostOsInfo::isWindowsHost() ? "_win.yaml" : ".yaml"); - const QString exportedFile = createFile(appendYamlSuffix(TESTDATA "clang.unused-parameter"), - sourceFile); - Diagnostic expectedDiag; - expectedDiag.name = "clang-diagnostic-unused-parameter"; - expectedDiag.location = {sourceFile, 4, 12}; - expectedDiag.description = "unused parameter 'g' [clang-diagnostic-unused-parameter]"; - expectedDiag.type = "warning"; - expectedDiag.hasFixits = false; - - Diagnostics diags = readExportedDiagnostics(Utils::FilePath::fromString(exportedFile), - {}, - &errorMessage); - - ASSERT_TRUE(errorMessage.isEmpty()); - ASSERT_THAT(diags, ElementsAre(expectedDiag)); -} - // Diagnostics from clang (static) analyzer passed through via clang-tidy TEST_F(ReadExportedDiagnostics, Tidy_ClangAnalyzer) {