[aarch64-port-dev ] 8212043: Request for help with Submit Failure

Andrew Dinn adinn at redhat.com
Fri Dec 14 09:36:22 UTC 2018


Hi Pengfei,

On 14/12/2018 07:43, Pengfei Li (Arm Technology China) wrote:
> Hope this is the last trial.
> http://cr.openjdk.java.net/~pli/rfr/8212043/webrev.03/
> 
>> I don't know for sure what the actual errors are but I suspect that the
>> relevant compilers will not bite on the expression (1.0/0.0). It seems that
>> defining +/-INFINITY in a portable way is going to require some work.
> 
> Actually, the expression (1.0/0.0) is good but (1.0d/0.0d) is not.
> I've reproduced the failure by building jdk on MacBook. I got below error messages.
> ...
> src/hotspot/share/opto/type.cpp:453:35: error: invalid suffix 'd' on floating constant
>   TypeD::POS_INF = TypeD::make(1.0d/0.0d);  // Double positive infinity
> ...
> ISO/IEC 9899:1999[1] Chapter 6.4.4.2 Paragraph 4 said: "An unsuffixed floating constant has type double. If suffixed by the letter f or F, it has type float. If suffixed by the letter l or L, it has type long double." And there's no definition for floating constant suffixed by letter d or D. So this is probably a feature only in GCC but not supported by other compilers in solaris/macOS/Windows. I've also tried to compile a simple C program with 1.0D by AArch64 LLVM and it fails.
> 
> In the new webrev, the suffix letter d is removed. And to be consistent with other definitions above like "TypeF::ONE", the suffix letter f is removed as well. This patch passed build test on Intel/Arm servers and MacBook.
> 
> [1] ISO/IEC 9899:1999  http://www.dii.uchile.cl/~daespino/files/Iso_C_1999_definition.pdf
That sounds pretty convincing to me. Thanks for doing such thorough
research and testing. I'll try the latest patch and keep my fingers
crossed that it works this time :-)

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the aarch64-port-dev mailing list