From 75365a884eb03c3e42467e65e7e934d167166a48 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 18 Nov 2014 12:44:39 -0600 Subject: [PATCH] Account for skip in Visual Studio product version vs. compiler version to map compiler version to product version. --- include/boost/predef/compiler/visualc.h | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/include/boost/predef/compiler/visualc.h b/include/boost/predef/compiler/visualc.h index 66d0601..7232ba9 100644 --- a/include/boost/predef/compiler/visualc.h +++ b/include/boost/predef/compiler/visualc.h @@ -48,10 +48,23 @@ Version number available as major, minor, and patch. # error "Cannot determine build number from _MSC_FULL_VER" # endif # endif -# define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\ - _MSC_VER/100-6,\ - _MSC_VER%100,\ - BOOST_COMP_MSVC_BUILD) + /* + VS2014 was skipped in the release sequence for MS. Which + means that the compiler and VS product versions are no longer + in sync. Hence we need to use different formulas for + mapping from MSC version to VS product version. + */ +# if (_MSC_VER >= 19) +# define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\ + _MSC_VER/100-5,\ + _MSC_VER%100,\ + BOOST_COMP_MSVC_BUILD) +# else +# define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\ + _MSC_VER/100-6,\ + _MSC_VER%100,\ + BOOST_COMP_MSVC_BUILD) +# endif #endif #ifdef BOOST_COMP_MSVC_DETECTION