Ticket #10489: vs14support.patch

File vs14support.patch, 3.1 KB (added by Niall Douglas, 8 years ago)
  • boost/config/auto_link.hpp

     boost/config/auto_link.hpp        | 12 +++++++++++-
     boost/config/compiler/visualc.hpp | 29 +++++++++++++++++++++--------
     2 files changed, 32 insertions(+), 9 deletions(-)
    
    diff --git a/boost/config/auto_link.hpp b/boost/config/auto_link.hpp
    index 13cbad4..c745745 100644
    a b BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.  
    156156     // vc11:
    157157#    define BOOST_LIB_TOOLSET "vc110"
    158158
    159 #  elif defined(BOOST_MSVC)
     159#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
    160160
    161161     // vc12:
    162162#    define BOOST_LIB_TOOLSET "vc120"
    163163
     164#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 2000)
     165
     166     // vc14:
     167#    define BOOST_LIB_TOOLSET "vc140"
     168
     169#  elif defined(BOOST_MSVC)
     170
     171     // vc is unknown, so don't define
     172#    undef BOOST_LIB_TOOLSET
     173
    164174#  elif defined(__BORLANDC__)
    165175
    166176     // CBuilder 6:
  • boost/config/compiler/visualc.hpp

    diff --git a/boost/config/compiler/visualc.hpp b/boost/config/compiler/visualc.hpp
    index 842f086..89390a3 100644
    a b  
    168168#  define BOOST_NO_CXX11_DECLTYPE_N3276
    169169#endif
    170170
     171// C++11 features supported by VC++ 14.
     172//
     173#if _MSC_VER < 1900
     174#  define BOOST_NO_CXX11_NOEXCEPT
     175#  define BOOST_NO_CXX11_REF_QUALIFIERS
     176#  define BOOST_NO_CXX11_INLINE_NAMESPACES
     177#  define BOOST_NO_CXX11_USER_DEFINED_LITERALS
     178#  define BOOST_NO_CXX11_ALIGNAS
     179#endif
     180#if _MSC_FULL_VER <= 190022013  // CTP 3
     181// The CTP 3 STL hasn't fully caught up with constexpr, so some breakage may occur
     182#  define BOOST_NO_CXX11_CONSTEXPR
     183#endif
     184
     185
    171186// C++11 features not supported by any versions
    172187#define BOOST_NO_CXX11_CHAR16_T
    173188#define BOOST_NO_CXX11_CHAR32_T
    174 #define BOOST_NO_CXX11_CONSTEXPR
    175 #define BOOST_NO_CXX11_NOEXCEPT
    176 #define BOOST_NO_CXX11_REF_QUALIFIERS
    177189#define BOOST_NO_CXX11_UNICODE_LITERALS
    178190#define BOOST_NO_SFINAE_EXPR
    179191#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
    180 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
    181 #define BOOST_NO_CXX11_ALIGNAS
    182 #define BOOST_NO_CXX11_INLINE_NAMESPACES
    183192
    184193//
    185194// prefix and suffix headers:
     
    216225#     define BOOST_COMPILER_VERSION evc11
    217226#   elif _MSC_VER < 1900
    218227#     define BOOST_COMPILER_VERSION evc12
     228#   elif _MSC_VER < 2000
     229#     define BOOST_COMPILER_VERSION evc14
    219230#   else
    220231#      if defined(BOOST_ASSERT_CONFIG)
    221232#         error "Unknown EVC++ compiler version - please run the configure tests and report the results"
     
    243254#     define BOOST_COMPILER_VERSION 11.0
    244255#   elif _MSC_VER < 1900
    245256#     define BOOST_COMPILER_VERSION 12.0
     257#   elif _MSC_VER < 2000
     258#     define BOOST_COMPILER_VERSION 14.0
    246259#   else
    247260#     define BOOST_COMPILER_VERSION _MSC_VER
    248261#   endif
     
    252265#endif
    253266
    254267//
    255 // last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
    256 #if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
     268// last known and checked version is 19.00.22013.1 (VC14 CTP3):
     269#if (_MSC_VER > 1900 && _MSC_FULL_VER > 190022013)
    257270#  if defined(BOOST_ASSERT_CONFIG)
    258271#     error "Unknown compiler version - please run the configure tests and report the results"
    259272#  else