From 1058f053e565dd8182ea0ad0038e7591454e0960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20K=C3=B6hne?= Date: Tue, 22 Feb 2022 09:34:48 +0100 Subject: [PATCH] MSVC: Raise minimum version of Visual Studio 2019 to 16.7 The compile-time check for /permissive- only works from Visual Studio 16.7 onwards. Older compiler versions will fail the check, even if /permissive- is passed. Let's rather bail out with a more explicit error in this case. [ChangeLog][Windows] The minimum MSVC version was raised to Visual Studio 2019 version 16.7 (VC++ version 14.27). Trying to use an older version will now result in a compile time error. Pick-to: 6.3 Task-number: QTBUG-101049 Change-Id: Ibfa2930e1186eb63d8fed69efe161a9d79ccb1be Reviewed-by: Giuseppe D'Angelo --- src/corelib/global/qglobal.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 50fcc2474f..8747c6774b 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -145,6 +145,11 @@ #endif // __cplusplus #if defined(__cplusplus) && defined(Q_CC_MSVC) && !defined(Q_CC_CLANG) +# if Q_CC_MSVC < 1927 + // Check below only works with 16.7 or newer +# error "Qt requires at least Visual Studio 2019 version 16.7 (VC++ version 14.27). Please upgrade." +# endif + // On MSVC we require /permissive- set by user code. Check that we are // under its rules -- for instance, check that std::nullptr_t->bool is // not an implicit conversion, as per