From 0a9414d46773b896d2ca8bb395694799e483a863 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 23 Nov 2016 09:06:44 +0100 Subject: [PATCH] Abi: Handle MSVC2017 in relevant places Fixes kits forgetting the compiler. Amends change 4c29f5fc8fb88dfaff6b0bc1984925c2da51a09c. Task-number: QTBUG-57086 Change-Id: I853dc91fd40ddbd8726fcb1a682753b163a63cf6 Reviewed-by: Orgad Shaneh --- src/plugins/projectexplorer/abi.cpp | 9 ++++++++- src/plugins/projectexplorer/abstractmsvctoolchain.cpp | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 7000b2b402b..a75ebe6fd61 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -165,6 +165,8 @@ static QList parseCoffHeader(const QByteArray &data) break; case 14: flavor = Abi::WindowsMsvc2015Flavor; + case 15: + flavor = Abi::WindowsMsvc2017Flavor; break; default: // Keep unknown flavor if (minorLinker != 0) @@ -422,6 +424,8 @@ Abi::Abi(const QString &abiString) : m_osFlavor = WindowsMsvc2013Flavor; else if (abiParts.at(2) == QLatin1String("msvc2015") && m_os == WindowsOS) m_osFlavor = WindowsMsvc2015Flavor; + else if (abiParts.at(2) == QLatin1String("msvc2017") && m_os == WindowsOS) + m_osFlavor = WindowsMsvc2017Flavor; else if (abiParts.at(2) == QLatin1String("msys") && m_os == WindowsOS) m_osFlavor = WindowsMSysFlavor; else if (abiParts.at(2) == QLatin1String("ce") && m_os == WindowsOS) @@ -748,6 +752,7 @@ QList Abi::flavorsForOs(const Abi::OS &o) case WindowsOS: return result << WindowsMsvc2005Flavor << WindowsMsvc2008Flavor << WindowsMsvc2010Flavor << WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMsvc2015Flavor + << WindowsMsvc2017Flavor << WindowsMSysFlavor << WindowsCEFlavor << UnknownFlavor; case VxWorks: return result << VxWorksFlavor << UnknownFlavor; @@ -768,7 +773,9 @@ Abi Abi::hostAbi() #if defined (Q_OS_WIN) os = WindowsOS; -#if _MSC_VER == 1900 +#if _MSC_VER >= 1910 + subos = WindowsMsvc2017Flavor; +#elif _MSC_VER == 1900 subos = WindowsMsvc2015Flavor; #elif _MSC_VER == 1800 subos = WindowsMsvc2013Flavor; diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp index cb056cd938c..94d80a51717 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp @@ -101,7 +101,8 @@ ToolChain::CompilerFlags AbstractMsvcToolChain::compilerFlags(const QStringList case Abi::WindowsMsvc2012Flavor: flags |= StandardCxx11; break; case Abi::WindowsMsvc2013Flavor: - case Abi::WindowsMsvc2015Flavor: flags |= StandardCxx14; + case Abi::WindowsMsvc2015Flavor: + case Abi::WindowsMsvc2017Flavor: flags |= StandardCxx14; break; default: break;