<https://blogs.msdn.microsoft.com/vcblog/2016/10/05/visual-c-compiler-version/> announces that details of the predefined _MSC_VER macro will change slightly for future releases of Visual Studio. Beginning with "VS '15' Preview 5' the lower two digits of _MSC_VER will increase with updates, instead of staying at "00". That means that checks for compilers up to and including a certain version (regardless of update) shouldn't be done with

  #if _MSC_VER <= xx00

(Curiously, that blog post claims that "VS '15' Preview 5" has an _MSC_VER of 1910, i.e., still using the same major 19xx as the existing Visual Studio 2015, aka MSVC 14.)

I checked our code base, and the only use of "_MSC_VER <= 1900" is in include/rtl/stringutils.hxx, checking for a bug that is known to be present at least up to current Visual Studio 2015, so doing the check that way is correct for now (until we find out whether or not that bug is fixed in "VS '15' Preview 5" or later). (There's also a handful of "_MSC_VER <= 1800" in sal/osl/w32/salinit.cxx and vcl/source/opengl/OpenGLHelper.cxx that should arguably be "_MSC_VER < 1900", but those should be harmless, as there'll presumably be no updates to Visual Studio 2013 that bump to 18xx > 1800.)
LibreOffice mailing list

Reply via email to