From e1c4fcaab57d448385502cdcc64f34b8e84c2234 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 22 Jun 2020 17:16:32 +0200 Subject: [PATCH] Toolchains: Fix auto-detection for clang-cl This broke in aef8255ba0, which removed the collection of MSVC toolchains in a global variable for clang-cl to inspect. Change-Id: I949aa0a098ed307d264e8fe23625586018507d00 Reviewed-by: hjk --- src/plugins/projectexplorer/msvctoolchain.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index a2332739bc1..29a0bdd2ff3 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -813,6 +813,7 @@ MsvcToolChain::MsvcToolChain(Core::Id typeId) { setDisplayName("Microsoft Visual C++ Compiler"); setTypeDisplayName(tr("MSVC")); + addToAvailableMsvcToolchains(this); } void MsvcToolChain::inferWarningsForLevel(int warningLevel, WarningFlags &flags) @@ -931,8 +932,10 @@ QVariantMap MsvcToolChain::toMap() const bool MsvcToolChain::fromMap(const QVariantMap &data) { - if (!ToolChain::fromMap(data)) + if (!ToolChain::fromMap(data)) { + g_availableMsvcToolchains.removeOne(this); return false; + } m_vcvarsBat = QDir::fromNativeSeparators(data.value(QLatin1String(varsBatKeyC)).toString()); m_varsBatArg = data.value(QLatin1String(varsBatArgKeyC)).toString(); @@ -948,8 +951,8 @@ bool MsvcToolChain::fromMap(const QVariantMap &data) m_varsBatArg)); const bool valid = !m_vcvarsBat.isEmpty() && m_abi.isValid(); - if (valid) - addToAvailableMsvcToolchains(this); + if (!valid) + g_availableMsvcToolchains.removeOne(this); return valid; }