[fortran,patch] Extend IEEE support to all real kinds

FX fxcoudert@gmail.com
Mon Aug 3 21:14:00 GMT 2015


The attached patch extends the IEEE modules to all floating-point kinds. Last time, when I added IEEE support, I restricted it to the float and double types (real kinds 4 and 8), to be extra safe. After discussion with Uros Bizjak and some reading, I’ve come to the conclusion that on most hardware where we support IEEE at all, we do support enough IEEE features on extended and quad prec (long double and __float128, on x86_64 hardware) to satisfy the Fortran standard.

So, this enables full IEEE support for all real kinds. Nothing changes to the underlying architecture, it’s almost exclusively mechanical changes (adding the necessary variants to the interfaces, etc.). 

Bootstrapped and regtested on x86_64-apple-darwin14 (with associated libquadmath patch: https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00124.html).
OK to commit to trunk?

FX


PS: Once this is in, I intend to focus on the next item: allowing all standard-mandated IEEE functions in constant expressions. Then, I believe our IEEE support will be entirely bug-free (in the sense that there will be no known bugs in it!).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ieee.ChangeLog
Type: application/octet-stream
Size: 797 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20150803/55bcd92c/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ieee.diff
Type: application/octet-stream
Size: 41283 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20150803/55bcd92c/attachment-0001.obj>


More information about the Fortran mailing list