forked from qt-creator/qt-creator
Clang: Add default diagnostic configuration for Clazy
... and Clang-Tidy + Clazy. Use stable 'level0' checks. Change-Id: Icdcbb8807f7925bf93f8b4e11a00c2710d6693cd Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -118,8 +118,11 @@ void ClangToolsSettings::readSettings()
|
|||||||
|
|
||||||
m_buildBeforeAnalysis = settings->value(QString(buildBeforeAnalysisKey), true).toBool();
|
m_buildBeforeAnalysis = settings->value(QString(buildBeforeAnalysisKey), true).toBool();
|
||||||
|
|
||||||
m_savedDiagnosticConfigId = m_diagnosticConfigId
|
m_diagnosticConfigId = Core::Id::fromSetting(settings->value(QString(diagnosticConfigIdKey)));
|
||||||
= Core::Id::fromSetting(settings->value(QString(diagnosticConfigIdKey)));
|
if (!m_diagnosticConfigId.isValid())
|
||||||
|
m_diagnosticConfigId = "Builtin.TidyAndClazy";
|
||||||
|
|
||||||
|
m_savedDiagnosticConfigId = m_diagnosticConfigId;
|
||||||
|
|
||||||
updateSavedBuildBeforeAnalysiIfRequired();
|
updateSavedBuildBeforeAnalysiIfRequired();
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,19 @@ static void addConfigForPedanticWarnings(ClangDiagnosticConfigsModel &model)
|
|||||||
model.appendOrUpdate(config);
|
model.appendOrUpdate(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constexpr const char *DEFAULT_TIDY_CHECKS = "-*,"
|
||||||
|
"bugprone-*,"
|
||||||
|
"cppcoreguidelines-*,"
|
||||||
|
"misc-*,"
|
||||||
|
"modernize-*,"
|
||||||
|
"performance-*,"
|
||||||
|
"readability-*,"
|
||||||
|
"-cppcoreguidelines-owning-memory,"
|
||||||
|
"-readability-braces-around-statements,"
|
||||||
|
"-readability-implicit-bool-conversion,"
|
||||||
|
"-readability-named-parameter";
|
||||||
|
constexpr const char *DEFAULT_CLAZY_CHECKS = "level0";
|
||||||
|
|
||||||
static void addConfigForAlmostEveryWarning(ClangDiagnosticConfigsModel &model)
|
static void addConfigForAlmostEveryWarning(ClangDiagnosticConfigsModel &model)
|
||||||
{
|
{
|
||||||
ClangDiagnosticConfig config;
|
ClangDiagnosticConfig config;
|
||||||
@@ -95,21 +108,9 @@ static void addConfigForTidy(ClangDiagnosticConfigsModel &model)
|
|||||||
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
|
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
|
||||||
"Clang-Tidy thorough checks"));
|
"Clang-Tidy thorough checks"));
|
||||||
config.setIsReadOnly(true);
|
config.setIsReadOnly(true);
|
||||||
config.setClangOptions(QStringList{
|
config.setClangOptions(QStringList{QStringLiteral("-w")});
|
||||||
QStringLiteral("-w"),
|
|
||||||
});
|
|
||||||
config.setClangTidyMode(ClangDiagnosticConfig::TidyMode::ChecksPrefixList);
|
config.setClangTidyMode(ClangDiagnosticConfig::TidyMode::ChecksPrefixList);
|
||||||
config.setClangTidyChecks("-*,"
|
config.setClangTidyChecks(QString::fromUtf8(DEFAULT_TIDY_CHECKS));
|
||||||
"bugprone-*,"
|
|
||||||
"cppcoreguidelines-*,"
|
|
||||||
"misc-*,"
|
|
||||||
"modernize-*,"
|
|
||||||
"performance-*,"
|
|
||||||
"readability-*,"
|
|
||||||
"-cppcoreguidelines-owning-memory,"
|
|
||||||
"-readability-braces-around-statements,"
|
|
||||||
"-readability-implicit-bool-conversion,"
|
|
||||||
"-readability-named-parameter");
|
|
||||||
|
|
||||||
model.appendOrUpdate(config);
|
model.appendOrUpdate(config);
|
||||||
}
|
}
|
||||||
@@ -131,6 +132,35 @@ static void addConfigForClangAnalyze(ClangDiagnosticConfigsModel &model)
|
|||||||
model.appendOrUpdate(config);
|
model.appendOrUpdate(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void addConfigForClazy(ClangDiagnosticConfigsModel &model)
|
||||||
|
{
|
||||||
|
ClangDiagnosticConfig config;
|
||||||
|
config.setId("Builtin.Clazy");
|
||||||
|
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
|
||||||
|
"Clazy level0 checks"));
|
||||||
|
config.setIsReadOnly(true);
|
||||||
|
config.setClangOptions(QStringList{QStringLiteral("-w")});
|
||||||
|
config.setClazyChecks(QString::fromUtf8(DEFAULT_CLAZY_CHECKS));
|
||||||
|
|
||||||
|
model.appendOrUpdate(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void addConfigForTidyAndClazy(ClangDiagnosticConfigsModel &model)
|
||||||
|
{
|
||||||
|
ClangDiagnosticConfig config;
|
||||||
|
config.setId("Builtin.TidyAndClazy");
|
||||||
|
config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
|
||||||
|
"Clang-Tidy and Clazy preselected checks"));
|
||||||
|
config.setIsReadOnly(true);
|
||||||
|
config.setClangOptions(QStringList{QStringLiteral("-w")});
|
||||||
|
config.setClangTidyMode(ClangDiagnosticConfig::TidyMode::ChecksPrefixList);
|
||||||
|
|
||||||
|
config.setClangTidyChecks(QString::fromUtf8(DEFAULT_TIDY_CHECKS));
|
||||||
|
config.setClazyChecks(QString::fromUtf8(DEFAULT_CLAZY_CHECKS));
|
||||||
|
|
||||||
|
model.appendOrUpdate(config);
|
||||||
|
}
|
||||||
|
|
||||||
static void addBuiltinConfigs(ClangDiagnosticConfigsModel &model)
|
static void addBuiltinConfigs(ClangDiagnosticConfigsModel &model)
|
||||||
{
|
{
|
||||||
addConfigForPedanticWarnings(model);
|
addConfigForPedanticWarnings(model);
|
||||||
@@ -138,6 +168,8 @@ static void addBuiltinConfigs(ClangDiagnosticConfigsModel &model)
|
|||||||
addConfigForAlmostEveryWarning(model);
|
addConfigForAlmostEveryWarning(model);
|
||||||
addConfigForTidy(model);
|
addConfigForTidy(model);
|
||||||
addConfigForClangAnalyze(model);
|
addConfigForClangAnalyze(model);
|
||||||
|
addConfigForClazy(model);
|
||||||
|
addConfigForTidyAndClazy(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
ClangDiagnosticConfigsModel::ClangDiagnosticConfigsModel(const ClangDiagnosticConfigs &customConfigs)
|
ClangDiagnosticConfigsModel::ClangDiagnosticConfigsModel(const ClangDiagnosticConfigs &customConfigs)
|
||||||
|
|||||||
Reference in New Issue
Block a user