From 985180d38453376b9cd1d19d1cbd5e30040b0c78 Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Mon, 3 Jul 2017 14:38:46 +0200 Subject: [PATCH] Toolchain: set triple in msvctoolchain class Move triple set up to msvc toolchain class, use another triple for x86_64 Change-Id: I3aebb051eb5d93accc6073e01391bf972199c2cb Reviewed-by: Nikolai Kosjar Reviewed-by: Tobias Hunger --- src/plugins/cpptools/projectinfo.cpp | 4 +--- src/plugins/projectexplorer/abstractmsvctoolchain.cpp | 7 +++++++ src/plugins/projectexplorer/abstractmsvctoolchain.h | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/plugins/cpptools/projectinfo.cpp b/src/plugins/cpptools/projectinfo.cpp index e0db5fd54f3..1ca95e3e9c0 100644 --- a/src/plugins/cpptools/projectinfo.cpp +++ b/src/plugins/cpptools/projectinfo.cpp @@ -40,9 +40,7 @@ ToolChainInfo::ToolChainInfo(const ProjectExplorer::ToolChain *toolChain, isMsvc2015ToolChain = toolChain->targetAbi().osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor; wordWidth = toolChain->targetAbi().wordWidth(); - targetTriple = type == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID - ? QLatin1String("i686-pc-windows-msvc") - : toolChain->originalTargetTriple(); // OK, compiler run is already cached. + targetTriple = toolChain->originalTargetTriple(); // ...and save the potentially expensive operations for later so that // they can be run from a worker thread. diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp index 386fc33e19e..121e2b43b4f 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp @@ -97,6 +97,13 @@ bool AbstractMsvcToolChain::isValid() const return fi.isFile() && fi.isExecutable(); } +QString AbstractMsvcToolChain::originalTargetTriple() const +{ + return m_abi.wordWidth() == 64 + ? QLatin1String("x86_64-pc-windows-msvc") + : QLatin1String("i686-pc-windows-msvc"); +} + ToolChain::PredefinedMacrosRunner AbstractMsvcToolChain::createPredefinedMacrosRunner() const { Utils::Environment env(m_lastEnvironment); diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.h b/src/plugins/projectexplorer/abstractmsvctoolchain.h index 2b8c86f4d42..9a96faea0eb 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.h +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.h @@ -50,6 +50,8 @@ public: bool isValid() const override; + QString originalTargetTriple() const override; + PredefinedMacrosRunner createPredefinedMacrosRunner() const override; QByteArray predefinedMacros(const QStringList &cxxflags) const override; CompilerFlags compilerFlags(const QStringList &cxxflags) const override;