[gfortran, patch] provide isfinite as a macro

François-Xavier Coudert fxcoudert@gmail.com
Wed Aug 3 15:58:00 GMT 2005


Right now, libgfortran.h provides a fallback implementation of
isfinite() when it is not available from the system. This
implementation has prototype "int isfinite (double)", which is wrong:
isfinite is supposed to be a macro, accepting float, double and long
double types. Attached patch fixes this problem, and removes the
fallback use of finite(), which can only accept doubles.

This patch fixes a problem with large real(16) numbers on solaris. It
is regtested on sparc-solaris, and the only other platform where it
could go wrong is cygwin, which i'll regtest this evening.

OK for mainline and 4.0 (given that cygwin regtests correctly)?

FX

:ADDPATCH libgfortran:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: isfinite.ChangeLog
Type: application/octet-stream
Size: 197 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20050803/a5a93a24/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: isfinite.diff
Type: text/x-patch
Size: 1011 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20050803/a5a93a24/attachment.bin>


More information about the Fortran mailing list