From 748618bee1b1e43b8e7343faf6e9f7e1fdc44297 Mon Sep 17 00:00:00 2001 From: Alp Toker Date: Sun, 29 Dec 2013 07:39:53 +0000 Subject: Make LLVM_MSC_PREREQ() compatible with all MSVC versions The defined() preprocessor expansion wasn't working out on the lld builder. Also update the documentation to cover another Visual Studio release versioning convention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198158 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/Compiler.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h index e2bcd563b0..aa66a4ea52 100644 --- a/include/llvm/Support/Compiler.h +++ b/include/llvm/Support/Compiler.h @@ -43,11 +43,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: -/// * 1600: Microsoft Visual Studio 2010 -/// * 1700: Microsoft Visual Studio 2012 -/// * 1800: Microsoft Visual Studio 2013 -#define LLVM_MSC_PREREQ(version) \ - (defined(_MSC_VER) && _MSC_VER >= (version)) +/// * 1600: Microsoft Visual Studio 2010 / 10.0 +/// * 1700: Microsoft Visual Studio 2012 / 11.0 +/// * 1800: Microsoft Visual Studio 2013 / 12.0 +#ifdef _MSC_VER +#define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version)) +#else +#define LLVM_MSC_PREREQ(version) 0 +#endif /// \brief Does the compiler support r-value references? /// This implies that provides the one-argument std::move; it -- cgit v1.2.3