CppTools/ClangTools: Fix saving diagnostic configs for code model

As ClangDiagnosticConfig() has tidy and clazy enabled by default now,
the ClangTools' importDiagnosticConfigsFromCodeModel() takes diagnostic
configs on start up away from CppCodeModelSettings.

Ensure that built-in configs do not have tidy/clazy enabled by default.
Also, when importing, look at the actually enabled checks.

Fixes: QTCREATORBUG-23717
Change-Id: Id8370ae2fff2392fc94aa957fd33c1954aff5594
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Nikolai Kosjar
2020-05-27 15:04:59 +02:00
parent 13ad816308
commit 9dafc323b5
3 changed files with 10 additions and 1 deletions

View File

@@ -118,7 +118,8 @@ ClangDiagnosticConfigs importDiagnosticConfigsFromCodeModel()
ClangDiagnosticConfigs clangOnlyConfigs;
std::tie(tidyClazyConfigs, clangOnlyConfigs)
= Utils::partition(configs, [](const ClangDiagnosticConfig &config) {
return config.isClazyEnabled() || config.isClangTidyEnabled();
return !config.clazyChecks().isEmpty()
|| (!config.clangTidyChecks().isEmpty() && config.clangTidyChecks() != "-*");
});
if (!tidyClazyConfigs.isEmpty()) {