[[`_MSC_FULL_VER`] [V.R.P]]
[[`_MSC_VER`] [V.R.0]]
]
+
+[note Release of Visual Studio after 2015 will no longer be identified
+by Boost Predef as the marketing version number. Instead we use the
+compiler version number directly, i.e. the _MSC_VER number.]
*/
#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE
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.
+
+ VS2017 is a total nightmare when it comes to version numbers.
+ Hence to avoid arguments relating to that both present and
+ future.. Any version after VS2015 will use solely the compiler
+ version, i.e. cl.exe, as the version number here.
*/
-# if (_MSC_VER >= 1900)
+# if (_MSC_VER > 1900)
+# define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\
+ _MSC_VER/100,\
+ _MSC_VER%100,\
+ BOOST_COMP_MSVC_BUILD)
+# elif (_MSC_VER >= 1900)
# define BOOST_COMP_MSVC_DETECTION BOOST_VERSION_NUMBER(\
_MSC_VER/100-5,\
_MSC_VER%100,\