From 51a650f30b0d75129b3eb77ed7b7d38a07cf810e Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Tue, 3 Oct 2023 10:59:31 +0200 Subject: [PATCH] ClangTools: Fix clang-tidy documentationUrl for version 17.0.0 Change-Id: I6fd71fd5a390316a5c523865b6b1e866d8450e2e Reviewed-by: Christian Kandeler --- src/plugins/clangtools/clangtoolsutils.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/plugins/clangtools/clangtoolsutils.cpp b/src/plugins/clangtools/clangtoolsutils.cpp index 5b4eb702c91..1ad142fd459 100644 --- a/src/plugins/clangtools/clangtoolsutils.cpp +++ b/src/plugins/clangtools/clangtoolsutils.cpp @@ -307,12 +307,25 @@ QStringList extraClangToolsAppendOptions() return options; } +static QVersionNumber fixupVersion(const VersionAndSuffix &versionAndSuffix) +{ + // llvm.org only does document releases for the first released version + QVersionNumber version = QVersionNumber(versionAndSuffix.first.majorVersion(), 0, 0); + + if (version == QVersionNumber(0)) + version = QVersionNumber(12); + + // Version 17.0.0 was never released due to a git issue + if (version == QVersionNumber(17)) + version = QVersionNumber(17, 0, 1); + + return version; +} + QString clangTidyDocUrl(const QString &check) { VersionAndSuffix version = ClangToolsSettings::clangTidyVersion(); - version.first = QVersionNumber(version.first.majorVersion(), 0, 0); - if (version.first == QVersionNumber(0)) - version.first = QVersionNumber(12); + version.first = fixupVersion(version); static const char versionedUrlPrefix[] = "https://releases.llvm.org/%1/tools/clang/tools/extra/docs/"; static const char unversionedUrlPrefix[] = "https://clang.llvm.org/extra/";