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:
		@@ -61,6 +61,19 @@ static void addConfigForPedanticWarnings(ClangDiagnosticConfigsModel &model)
 | 
			
		||||
    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)
 | 
			
		||||
{
 | 
			
		||||
    ClangDiagnosticConfig config;
 | 
			
		||||
@@ -95,21 +108,9 @@ static void addConfigForTidy(ClangDiagnosticConfigsModel &model)
 | 
			
		||||
    config.setDisplayName(QCoreApplication::translate("ClangDiagnosticConfigsModel",
 | 
			
		||||
                                                      "Clang-Tidy thorough checks"));
 | 
			
		||||
    config.setIsReadOnly(true);
 | 
			
		||||
    config.setClangOptions(QStringList{
 | 
			
		||||
        QStringLiteral("-w"),
 | 
			
		||||
    });
 | 
			
		||||
    config.setClangOptions(QStringList{QStringLiteral("-w")});
 | 
			
		||||
    config.setClangTidyMode(ClangDiagnosticConfig::TidyMode::ChecksPrefixList);
 | 
			
		||||
    config.setClangTidyChecks("-*,"
 | 
			
		||||
                              "bugprone-*,"
 | 
			
		||||
                              "cppcoreguidelines-*,"
 | 
			
		||||
                              "misc-*,"
 | 
			
		||||
                              "modernize-*,"
 | 
			
		||||
                              "performance-*,"
 | 
			
		||||
                              "readability-*,"
 | 
			
		||||
                              "-cppcoreguidelines-owning-memory,"
 | 
			
		||||
                              "-readability-braces-around-statements,"
 | 
			
		||||
                              "-readability-implicit-bool-conversion,"
 | 
			
		||||
                              "-readability-named-parameter");
 | 
			
		||||
    config.setClangTidyChecks(QString::fromUtf8(DEFAULT_TIDY_CHECKS));
 | 
			
		||||
 | 
			
		||||
    model.appendOrUpdate(config);
 | 
			
		||||
}
 | 
			
		||||
@@ -131,6 +132,35 @@ static void addConfigForClangAnalyze(ClangDiagnosticConfigsModel &model)
 | 
			
		||||
    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)
 | 
			
		||||
{
 | 
			
		||||
    addConfigForPedanticWarnings(model);
 | 
			
		||||
@@ -138,6 +168,8 @@ static void addBuiltinConfigs(ClangDiagnosticConfigsModel &model)
 | 
			
		||||
    addConfigForAlmostEveryWarning(model);
 | 
			
		||||
    addConfigForTidy(model);
 | 
			
		||||
    addConfigForClangAnalyze(model);
 | 
			
		||||
    addConfigForClazy(model);
 | 
			
		||||
    addConfigForTidyAndClazy(model);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ClangDiagnosticConfigsModel::ClangDiagnosticConfigsModel(const ClangDiagnosticConfigs &customConfigs)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user