diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index 4cf49a46385..82c2ba0b38c 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -258,10 +258,10 @@ QList ClangToolRunWorker::runnerCreators() { QList creators; - if (m_diagnosticConfig.clangTidyChecks() != "-*") + if (m_diagnosticConfig.isClangTidyEnabled()) creators << [this]() { return createRunner(); }; - if (!m_diagnosticConfig.clazyChecks().isEmpty()) { + if (m_diagnosticConfig.isClazyEnabled()) { if (!qEnvironmentVariable("QTC_USE_CLAZY_STANDALONE_PATH").isEmpty()) creators << [this]() { return createRunner(); }; else diff --git a/src/plugins/clangtools/clangtoolssettings.cpp b/src/plugins/clangtools/clangtoolssettings.cpp index fa2e48c844b..cbd15f512fc 100644 --- a/src/plugins/clangtools/clangtoolssettings.cpp +++ b/src/plugins/clangtools/clangtoolssettings.cpp @@ -118,7 +118,7 @@ ClangDiagnosticConfigs importDiagnosticConfigsFromCodeModel() ClangDiagnosticConfigs clangOnlyConfigs; std::tie(tidyClazyConfigs, clangOnlyConfigs) = Utils::partition(configs, [](const ClangDiagnosticConfig &config) { - return !config.clazyChecks().isEmpty() || config.clangTidyChecks() != "-*"; + return config.isClazyEnabled() || config.isClangTidyEnabled(); }); if (!tidyClazyConfigs.isEmpty()) { diff --git a/src/plugins/cpptools/clangdiagnosticconfig.cpp b/src/plugins/cpptools/clangdiagnosticconfig.cpp index 32ef607b1a7..7b318a61f9a 100644 --- a/src/plugins/cpptools/clangdiagnosticconfig.cpp +++ b/src/plugins/cpptools/clangdiagnosticconfig.cpp @@ -130,6 +130,11 @@ void ClangDiagnosticConfig::setClangTidyChecks(const QString &checks) m_clangTidyChecks = checks; } +bool ClangDiagnosticConfig::isClangTidyEnabled() const +{ + return m_clangTidyMode != TidyMode::UseCustomChecks || clangTidyChecks() != "-*"; +} + QString ClangDiagnosticConfig::clazyChecks() const { return m_clazyChecks; @@ -140,6 +145,11 @@ void ClangDiagnosticConfig::setClazyChecks(const QString &checks) m_clazyChecks = checks; } +bool ClangDiagnosticConfig::isClazyEnabled() const +{ + return m_clazyMode != ClazyMode::UseCustomChecks || !m_clazyChecks.isEmpty(); +} + static QString convertToNewClazyChecksFormat(const QString &checks) { // Before Qt Creator 4.9 valid values for checks were: "", "levelN". diff --git a/src/plugins/cpptools/clangdiagnosticconfig.h b/src/plugins/cpptools/clangdiagnosticconfig.h index c0cf48cdec3..76f5983c1de 100644 --- a/src/plugins/cpptools/clangdiagnosticconfig.h +++ b/src/plugins/cpptools/clangdiagnosticconfig.h @@ -71,6 +71,8 @@ public: QString clangTidyChecks() const; void setClangTidyChecks(const QString &checks); + bool isClangTidyEnabled() const; + // Clazy enum class ClazyMode { @@ -83,6 +85,8 @@ public: QString clazyChecks() const; void setClazyChecks(const QString &checks); + bool isClazyEnabled() const; + bool operator==(const ClangDiagnosticConfig &other) const; bool operator!=(const ClangDiagnosticConfig &other) const;