cvs commit: src/lib/msun Makefile src/lib/msun/src math.h s_isfinite.c s_isnormal.c src/lib/libc/alpha/gen Makefile.inc isinf.c src/lib/libc/amd64/gen Makefile.inc isinf.c src/lib/libc/arm/gen Makefile.inc isinf.c src/lib/libc/i386/gen ...

Kris Kennaway kris at obsecurity.org
Fri Jul 9 00:30:02 PDT 2004


On Fri, Jul 09, 2004 at 03:32:40AM +0000, David Schultz wrote:

>   Log:
>   Implement the classification macros isfinite(), isinf(), isnan(), and
>   isnormal() the hard way, rather than relying on fpclassify().  This is
>   a lose in the sense that we need a total of 12 functions, but it is
>   necessary for binary compatibility because we have never bumped libm's
>   major version number.  In particular, isinf(), isnan(), and isnanf()
>   were BSD libc functions before they were C99 macros, so we can't
>   reimplement them in terms of fpclassify() without adding a dependency
>   on libc.so.5.  I have tried to arrange things so that programs that
>   could be compiled in FreeBSD 4.X will generate the same external
>   references when compiled in 5.X.  At the same time, the new macros
>   should remain C99-compliant.
>   
>   The isinf() and isnan() functions remain in libc for historical
>   reasons; however, I have moved the functions that implement the macros
>   isfinite() and isnormal() to libm where they belong.  Moreover,
>   half a dozen MD versions of isinf() and isnan() have been replaced
>   with MI versions that work equally well.
>   
>   Prodded by:     kris

Thanks very much!  I'll roll a new world and test this on the package
cluster.

Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20040709/d9de7e1f/attachment.bin


More information about the cvs-src mailing list