Bump MSVC required version to 19.14
authorReid Kleckner <rnk@google.com>
Wed, 2 Dec 2020 23:21:04 +0000 (15:21 -0800)
committerReid Kleckner <rnk@google.com>
Thu, 3 Dec 2020 18:09:18 +0000 (10:09 -0800)
LLVM passes overaligned objects by value, which MSVC 19.1 didn't support on
x86_32. MSVC added this support somewhere between 19.1 and 19.14, but godbolt
doesn't have 19.11, 19.12, or 19.13 so I can't test before 19.14:
https://gcc.godbolt.org/z/75YoEz

Even if users are using the Visual Studio 2017 series of Visual C++ toolchains,
they should've already updated to 19.14 or newer at this point, or they
wouldn't be able to build LLVM. This just raises the CMake required minimum
version so the build fails earlier.

Differential Revision: https://reviews.llvm.org/D92515

llvm/cmake/modules/CheckCompilerVersion.cmake

index e545077..375a526 100644 (file)
@@ -12,9 +12,9 @@ set(APPLECLANG_MIN 6.0)
 set(APPLECLANG_SOFT_ERROR 6.0)
 
 # https://en.wikipedia.org/wiki/Microsoft_Visual_C#Internal_version_numbering
-# _MSC_VER == 1910 MSVC++ 14.1 (Visual Studio 2017 version 15.0)
-set(MSVC_MIN 19.1)
-set(MSVC_SOFT_ERROR 19.1)
+# _MSC_VER == 1914 MSVC++ 14.14 (Visual Studio 2017 version 15.4)
+set(MSVC_MIN 19.14)
+set(MSVC_SOFT_ERROR 19.14)
 
 # Map the above GCC versions to dates: https://gcc.gnu.org/develop.html#timeline
 set(GCC_MIN_DATE 20150422)