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