summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/common/msvc-version.conf1
-rw-r--r--mkspecs/features/default_post.prf8
2 files changed, 7 insertions, 2 deletions
diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf
index 29f96b7abf..fdf7efc0a5 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 0e67223449..d18604e0b8 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)