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

Reply via email to