From cd2a5f28b183c239c8b5d7910a63a7cffe137f7f Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sun, 15 Feb 2015 19:34:17 +0000 Subject: [PATCH] Update the docs to require at least MSVC 2013. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229323 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 4 ---- cmake/modules/HandleLLVMOptions.cmake | 4 ++-- docs/CodingStandards.rst | 2 +- docs/GettingStarted.rst | 4 ++-- docs/GettingStartedVS.rst | 4 ++-- include/llvm/Support/Compiler.h | 8 ++++---- 6 files changed, 11 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f00395fd60..afcc9f0ce2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,10 +24,6 @@ endif() project(LLVM) -if (MSVC AND MSVC_VERSION LESS 1800) - message(FATAL_ERROR "Minimum required MSVC version is 2013!") -endif () - # The following only works with the Ninja generator in CMake >= 3.0. set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING "Define the maximum number of concurrent compilation jobs.") diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index de785d5bb59..3843aa83450 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -41,8 +41,8 @@ int main() { return (float)x; }" set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES}) endif() elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.0) - message(FATAL_ERROR "Host Visual Studio must be at least 2012 (MSVC 17.0)") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0) + message(FATAL_ERROR "Host Visual Studio must be at least 2013 (MSVC 18.0)") endif() endif() endif() diff --git a/docs/CodingStandards.rst b/docs/CodingStandards.rst index f5e07bd499d..9e252419234 100644 --- a/docs/CodingStandards.rst +++ b/docs/CodingStandards.rst @@ -83,7 +83,7 @@ Supported C++11 Language and Library Features While LLVM, Clang, and LLD use C++11, not all features are available in all of the toolchains which we support. The set of features supported for use in LLVM -is the intersection of those supported in MSVC 2012, GCC 4.7, and Clang 3.1. +is the intersection of those supported in MSVC 2013, GCC 4.7, and Clang 3.1. The ultimate definition of this set is what build bots with those respective toolchains accept. Don't argue with the build bots. However, we have some guidance below to help you know what to expect. diff --git a/docs/GettingStarted.rst b/docs/GettingStarted.rst index 316f1f7380f..fa55ece44e7 100644 --- a/docs/GettingStarted.rst +++ b/docs/GettingStarted.rst @@ -230,7 +230,7 @@ our build systems: * Clang 3.1 * GCC 4.7 -* Visual Studio 2012 +* Visual Studio 2013 Anything older than these toolchains *may* work, but will require forcing the build system with a special option and is not really a supported host platform. @@ -280,7 +280,7 @@ Getting a Modern Host C++ Toolchain This section mostly applies to Linux and older BSDs. On Mac OS X, you should have a sufficiently modern Xcode, or you will likely need to upgrade until you -do. On Windows, just use Visual Studio 2012 as the host compiler, it is +do. On Windows, just use Visual Studio 2013 as the host compiler, it is explicitly supported and widely available. FreeBSD 10.0 and newer have a modern Clang as the system compiler. diff --git a/docs/GettingStartedVS.rst b/docs/GettingStartedVS.rst index fa20912be22..63e81f5165d 100644 --- a/docs/GettingStartedVS.rst +++ b/docs/GettingStartedVS.rst @@ -45,13 +45,13 @@ and software you will need. Hardware -------- -Any system that can adequately run Visual Studio 2012 is fine. The LLVM +Any system that can adequately run Visual Studio 2013 is fine. The LLVM source tree and object files, libraries and executables will consume approximately 3GB. Software -------- -You will need Visual Studio 2012 or higher. +You will need Visual Studio 2013 or higher. You will also need the `CMake `_ build system since it generates the project files you will use to build with. diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h index 50e74318c02..507b86ae281 100644 --- a/include/llvm/Support/Compiler.h +++ b/include/llvm/Support/Compiler.h @@ -52,14 +52,14 @@ /// \macro LLVM_MSC_PREREQ /// \brief Is the compiler MSVC of at least the specified version? /// The common \param version values to check for are: -/// * 1700: Microsoft Visual Studio 2012 / 11.0 /// * 1800: Microsoft Visual Studio 2013 / 12.0 +/// * 1900: Microsoft Visual Studio 2015 / 14.0 #ifdef _MSC_VER #define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version)) -// We require at least MSVC 2012. -#if !LLVM_MSC_PREREQ(1700) -#error LLVM requires at least MSVC 2012. +// We require at least MSVC 2013. +#if !LLVM_MSC_PREREQ(1800) +#error LLVM requires at least MSVC 2013. #endif #else -- 2.34.1