On Thu, 9 Jun 2022 11:37:21 GMT, Matthias Baesken <mbaes...@openjdk.org> wrote:
> We still handle at a number of places ancient historic _MSC_VER versions of > Visual Studio releases e.g. pre VS2013 (VS2013 has _MSC_VER 1800). > This should be cleaned up, as long as it is not 3rd party code that we don't > want to adjust. > > Currently still supported ("valid") VS version are 2017+, see > https://github.com/openjdk/jdk/blob/master/make/autoconf/toolchain_microsoft.m4 > . > VALID_VS_VERSIONS="2019 2017 2022" > Even with adjusted toolchain m4 files, something older than VS2013 (also > probably older than VS2015) would not be able to build jdk anymore. src/java.desktop/windows/native/libawt/windows/ThemeReader.cpp line 38: > 36: # define ROUND_TO_INT(num) ((int) round(num)) > 37: #else > 38: # define ROUND_TO_INT(num) ((int) floor((num) + 0.5)) If you look at when and why this was introduced (*), the "else" was not to support some other compiler - it was to support the older MS compiler. So if you don't want that, then the whole thing reduces to #define ROUND_TO_INT(num) ((int) round(num)) .. you could even go further and eliminate the macro altogether if it makes sense - you'd have to look at the usages. Same logic applies to the other files. (*) https://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010889.html ------------- PR: https://git.openjdk.org/jdk/pull/9105