RFR: JDK-8253239: Disable VS warning C4307 [v2]

Erik Joelsson erikj at openjdk.java.net
Fri Sep 18 13:02:19 UTC 2020


On Fri, 18 Sep 2020 10:05:10 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

>> hello, this fixes the build when using VS2017. VS2019 does not have the issue as far as I know.
>> failure was
>> 
>>> ./test/hotspot/gtest/utilities/test_align.cpp(96): error C2220: warning treated as error - no 'object' file generated
>>> ./test/hotspot/gtest/utilities/test_align.cpp(156): note: see reference to function template instantiation 'void
>>> static_test_alignments<T,A>(void)' being compiled with
>>> [
>>> T=int64_t,
>>> A=uint8_t
>>> ]
>>> ./test/hotspot/gtest/utilities/test_align.cpp(162): note: see reference to function template instantiation 'void
>>> test_alignments<int64_t,uint8_t>(void)' being compiled ./test/hotspot/gtest/utilities/test_align.cpp(96): warning
>>> C4307: '+': integral constant overflow
>>>
>>>
>> 
>> This might be related to an issue fixed at least in some versions of VS2019 , that is discussed here :
>> 
>> https://developercommunity.visualstudio.com/content/problem/211134/unsigned-integer-overflows-in-constexpr-functionsa.html
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8253239
>
> Matthias Baesken has refreshed the contents of this pull request, and previous commits have been removed. The
> incremental views will show differences compared to the previous content of the PR. The pull request contains one new
> commit since the last revision:
>   JDK-8253239

make/autoconf/flags-cflags.m4 line 137:

> 135:       WARNINGS_ENABLE_ALL="-W3"
> 136:       DISABLED_WARNINGS="4800"
> 137:       if test "x$TOOLCHAIN_VERSION" = x2017; then

I would like a comment here explaining why we need to disable this warning, since it's caused by a faulty behavior in
the compiler.

make/autoconf/flags-cflags.m4 line 138:

> 136:       DISABLED_WARNINGS="4800"
> 137:       if test "x$TOOLCHAIN_VERSION" = x2017; then
> 138:         DISABLED_WARNINGS+=" 4307"

Suggestion:

        # VS2017 incorrectly triggers this warning for constexpr
        DISABLED_WARNINGS+=" 4307"

-------------

PR: https://git.openjdk.java.net/jdk/pull/237



More information about the build-dev mailing list