RFR: 8295159: DSO created with -ffast-math breaks Java floating-point arithmetic [v8]

Andrew Haley aph at openjdk.org
Wed Oct 11 13:36:08 UTC 2023


On Wed, 27 Sep 2023 07:49:48 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

>> Andrew Haley has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 28 commits:
>> 
>>  - Merge branch 'JDK-8295159' of https://github.com/theRealAph/jdk into JDK-8295159
>>  - Fix LLVM
>>  - Give x32 bug its own ID.
>>  - cleanup
>>  - Fix conditional compilation
>>  - Remove x32 handling
>>  - Stash x86-32 changes
>>  - MacOS
>>  - AArch64
>>  - x86-32 changes
>>  - ... and 18 more: https://git.openjdk.org/jdk/compare/cef9fff0...c56adbd9
>
> make/autoconf/flags-cflags.m4 line 577:
> 
>> 575:   # CXXFLAGS C++ language level for all of JDK, including Hotspot.
>> 576:   if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
>> 577:     LANGSTD_CXXFLAGS="-std=gnu++14"
> 
> Uhhh, is this really okay? I thought the idea was that we should standardize on official C++, not use vendor-specific extensions. 
> 
> @kimbarrett Opinions on this?

I pulled it out. The problem is that I have to do this:


    jdouble_cast(0x0030000000000000); // 0x1.0p-1020;


which is yucky, but not the End Of The World. Hexadecimal floating-point literals were not part of C++ until C++17.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/10661#discussion_r1338783490


More information about the build-dev mailing list