]> git.lyx.org Git - features.git/blobdiff - 3rdparty/boost/boost/predef/compiler/visualc.h
Add Lorenzo Bertini to the credits.
[features.git] / 3rdparty / boost / boost / predef / compiler / visualc.h
index 9481d9d9fdcbdcfcf7833e85a9d1696b7d9257dd..f81e61ed5227f4dbc10b65d41030d8eebd69d041 100644 (file)
@@ -29,6 +29,10 @@ Version number available as major, minor, and patch.
     [[`_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
@@ -53,8 +57,18 @@ Version number available as major, minor, and patch.
     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,\