From b7d76e533c76f7d9e9373d68f33ff9595fe8ce52 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 3 May 2017 13:07:18 -0700 Subject: [PATCH] MSVC: Enable standard-conformance mode by default That's not the same as -Za. Change-Id: Ica9894dc9b5e48278fd4fffd14bb316b687abffe Reviewed-by: Oswald Buddenhagen Reviewed-by: Friedemann Kleint --- mkspecs/common/msvc-version.conf | 1 + mkspecs/features/default_post.prf | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index 29f96b7abf0..fdf7efc0a5d 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -81,6 +81,7 @@ greaterThan(QMAKE_MSC_VER, 1909) { MSVC_VER = 15.0 COMPAT_MKSPEC = win32-msvc2017 QMAKE_CXXFLAGS += -Zc:referenceBinding + QMAKE_CXXFLAGS_STRICTCXX = -permissive- } greaterThan(QMAKE_MSC_VER, 1910) { diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 0e672234498..d18604e0b80 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -124,8 +124,12 @@ c++11|c++14|c++1z { cxxstd = CXX11 } - # Check if we should disable the GNU extensions or not - !strict_c++:!isEmpty(QMAKE_CXXFLAGS_GNU$$cxxstd): cxxstd = GNU$$cxxstd + # Check if we should disable compiler extensions or not + isEmpty(QMAKE_CXXFLAGS_GNU$$cxxstd) { + strict_c++: QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STRICTCXX + } else { + !strict_c++: cxxstd = GNU$$cxxstd + } QMAKE_CXXFLAGS += $$eval(QMAKE_CXXFLAGS_$$cxxstd) QMAKE_LFLAGS += $$eval(QMAKE_LFLAGS_$$cxxstd)