Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jul 2004 03:32:40 +0000 (UTC)
From:      David Schultz <das@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   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...
Message-ID:  <200407090332.i693WenK038766@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
das         2004-07-09 03:32:40 UTC

  FreeBSD src repository

  Modified files:
    lib/msun             Makefile 
    lib/msun/src         math.h 
    lib/libc/alpha/gen   Makefile.inc 
    lib/libc/amd64/gen   Makefile.inc 
    lib/libc/arm/gen     Makefile.inc 
    lib/libc/i386/gen    Makefile.inc 
    lib/libc/ia64/gen    Makefile.inc 
    lib/libc/powerpc/gen Makefile.inc 
    lib/libc/sparc64/gen Makefile.inc 
    lib/libc/gen         Makefile.inc 
  Added files:
    lib/msun/src         s_isfinite.c s_isnormal.c 
    lib/libc/gen         isinf.c isnan.c 
  Removed files:
    lib/libc/alpha/gen   isinf.c 
    lib/libc/amd64/gen   isinf.c 
    lib/libc/arm/gen     isinf.c 
    lib/libc/i386/gen    isinf.c 
    lib/libc/ia64/gen    isinf.c 
    lib/libc/powerpc/gen isinf.c 
    lib/libc/sparc64/gen isinf.c 
  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
  
  Revision  Changes    Path
  1.13      +1 -1      src/lib/libc/alpha/gen/Makefile.inc
  1.7       +0 -68     src/lib/libc/alpha/gen/isinf.c (dead)
  1.25      +1 -1      src/lib/libc/amd64/gen/Makefile.inc
  1.12      +0 -75     src/lib/libc/amd64/gen/isinf.c (dead)
  1.2       +1 -1      src/lib/libc/arm/gen/Makefile.inc
  1.2       +0 -70     src/lib/libc/arm/gen/isinf.c (dead)
  1.112     +1 -1      src/lib/libc/gen/Makefile.inc
  1.1       +66 -0     src/lib/libc/gen/isinf.c (new)
  1.1       +67 -0     src/lib/libc/gen/isnan.c (new)
  1.19      +1 -1      src/lib/libc/i386/gen/Makefile.inc
  1.12      +0 -75     src/lib/libc/i386/gen/isinf.c (dead)
  1.9       +1 -2      src/lib/libc/ia64/gen/Makefile.inc
  1.6       +0 -68     src/lib/libc/ia64/gen/isinf.c (dead)
  1.4       +1 -1      src/lib/libc/powerpc/gen/Makefile.inc
  1.4       +0 -67     src/lib/libc/powerpc/gen/isinf.c (dead)
  1.9       +1 -1      src/lib/libc/sparc64/gen/Makefile.inc
  1.6       +0 -69     src/lib/libc/sparc64/gen/isinf.c (dead)
  1.48      +2 -1      src/lib/msun/Makefile
  1.40      +28 -6     src/lib/msun/src/math.h
  1.1       +58 -0     src/lib/msun/src/s_isfinite.c (new)
  1.1       +58 -0     src/lib/msun/src/s_isnormal.c (new)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407090332.i693WenK038766>