Skip to content

Commit

Permalink
Update the docs to require at least MSVC 2013.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229323 91177308-0d34-0410-b5e6-96231b3b80d8
d0k committed Feb 15, 2015
1 parent 220a8ba commit cd2a5f2
Showing 6 changed files with 11 additions and 15 deletions.
4 changes: 0 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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.")
4 changes: 2 additions & 2 deletions cmake/modules/HandleLLVMOptions.cmake
Original file line number Diff line number Diff line change
@@ -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()
2 changes: 1 addition & 1 deletion docs/CodingStandards.rst
Original file line number Diff line number Diff line change
@@ -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.
4 changes: 2 additions & 2 deletions docs/GettingStarted.rst
Original file line number Diff line number Diff line change
@@ -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.

4 changes: 2 additions & 2 deletions docs/GettingStartedVS.rst
Original file line number Diff line number Diff line change
@@ -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 <http://www.cmake.org/>`_ build system since it
generates the project files you will use to build with.
8 changes: 4 additions & 4 deletions include/llvm/Support/Compiler.h
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit cd2a5f2

Please sign in to comment.