]> sourceware.org Git - glibc.git/commitdiff
Use C11 *_TRUE_MIN macros where applicable.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 28 Oct 2015 21:42:52 +0000 (21:42 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 28 Oct 2015 21:42:52 +0000 (21:42 +0000)
C11 defines standard <float.h> macros *_TRUE_MIN for the least
positive subnormal value of a type.  Now that we build with
-std=gnu11, we can use these macros in glibc.  This patch replaces
previous uses of the GCC predefines __*_DENORM_MIN__ (used in
<float.h> to define *_TRUE_MIN), as well as *_DENORM_MIN references in
comments.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).  Also tested for powerpc that
installed stripped shared libraries are unchanged by the patch.

* math/libm-test.inc (min_subnorm_value): Use LDBL_TRUE_MIN,
DBL_TRUE_MIN and FLT_TRUE_MIN instead of __LDBL_DENORM_MIN__,
__DBL_DENORM_MIN__ and __FLT_DENORM_MIN__.
* sysdeps/ieee754/dbl-64/s_fma.c (__fma): Refer to DBL_TRUE_MIN
instead of DBL_DENORM_MIN in comment.
* sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Refer to
LDBL_TRUE_MIN instead of LDBL_DENORM_MIN in comment.
* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c: Include <float.h>.
(__nextafterl): Use LDBL_TRUE_MIN instead of __LDBL_DENORM_MIN__.
* sysdeps/ieee754/ldbl-96/s_fmal.c (__fmal): Refer to
LDBL_TRUE_MIN instead of LDBL_DENORM_MIN in comment.

ChangeLog
math/libm-test.inc
sysdeps/ieee754/dbl-64/s_fma.c
sysdeps/ieee754/ldbl-128/s_fmal.c
sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c
sysdeps/ieee754/ldbl-96/s_fmal.c

index 9e0639bdbff7741d1b7f3b3cf48830e662cc5001..1feefafa5a277abc28eb9d5572f76868a3082653 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2015-10-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * math/libm-test.inc (min_subnorm_value): Use LDBL_TRUE_MIN,
+       DBL_TRUE_MIN and FLT_TRUE_MIN instead of __LDBL_DENORM_MIN__,
+       __DBL_DENORM_MIN__ and __FLT_DENORM_MIN__.
+       * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Refer to DBL_TRUE_MIN
+       instead of DBL_DENORM_MIN in comment.
+       * sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Refer to
+       LDBL_TRUE_MIN instead of LDBL_DENORM_MIN in comment.
+       * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c: Include <float.h>.
+       (__nextafterl): Use LDBL_TRUE_MIN instead of __LDBL_DENORM_MIN__.
+       * sysdeps/ieee754/ldbl-96/s_fmal.c (__fmal): Refer to
+       LDBL_TRUE_MIN instead of LDBL_DENORM_MIN in comment.
+
 2015-10-28  Florian Weimer  <fweimer@redhat.com>
 
        [BZ# 19048]
index 6cce5fcae47507fc42160aa5c8c7fbf7865d3a13..631b2055035c05c3c17bf0e75d57a5297912bd99 100644 (file)
@@ -315,12 +315,12 @@ static int ignore_max_ulp;        /* Should we ignore max_ulp?  */
                                LDBL_MAX, DBL_MAX, FLT_MAX)
 #define min_value      CHOOSE (LDBL_MIN, DBL_MIN, FLT_MIN,     \
                                LDBL_MIN, DBL_MIN, FLT_MIN)
-#define min_subnorm_value      CHOOSE (__LDBL_DENORM_MIN__,    \
-                                       __DBL_DENORM_MIN__,     \
-                                       __FLT_DENORM_MIN__,     \
-                                       __LDBL_DENORM_MIN__,    \
-                                       __DBL_DENORM_MIN__,     \
-                                       __FLT_DENORM_MIN__)
+#define min_subnorm_value      CHOOSE (LDBL_TRUE_MIN,  \
+                                       DBL_TRUE_MIN,   \
+                                       FLT_TRUE_MIN,   \
+                                       LDBL_TRUE_MIN,  \
+                                       DBL_TRUE_MIN,   \
+                                       FLT_TRUE_MIN)
 
 static FLOAT max_error, real_max_error, imag_max_error;
 
index 8b4e1331f60926757bc26e4ed27439f6ebe51ed9..4b9ec8b7df5b6be3a3d39262df569bb55905a7c6 100644 (file)
@@ -66,7 +66,7 @@ __fma (double x, double y, double z)
       /* If fma will certainly overflow, compute as x * y.  */
       if (u.ieee.exponent + v.ieee.exponent > 0x7ff + IEEE754_DOUBLE_BIAS)
        return x * y;
-      /* If x * y is less than 1/4 of DBL_DENORM_MIN, neither the
+      /* If x * y is less than 1/4 of DBL_TRUE_MIN, neither the
         result nor whether there is underflow depends on its exact
         value, only on its sign.  */
       if (u.ieee.exponent + v.ieee.exponent
index e231ce6344ccbbf18f966158c6aa9ae150d3cbe9..3c87039a75c4d1295a58784edd483058617b3af7 100644 (file)
@@ -68,7 +68,7 @@ __fmal (long double x, long double y, long double z)
       if (u.ieee.exponent + v.ieee.exponent
          > 0x7fff + IEEE854_LONG_DOUBLE_BIAS)
        return x * y;
-      /* If x * y is less than 1/4 of LDBL_DENORM_MIN, neither the
+      /* If x * y is less than 1/4 of LDBL_TRUE_MIN, neither the
         result nor whether there is underflow depends on its exact
         value, only on its sign.  */
       if (u.ieee.exponent + v.ieee.exponent
index bf57cb89d62e92af65cd08dbabef33c42bf5faff..36a5090693f609ea46e0d829d6b4e291c107cedf 100644 (file)
@@ -24,6 +24,7 @@ static char rcsid[] = "$NetBSD: $";
  *   Special cases:
  */
 
+#include <float.h>
 #include <math.h>
 #include <math_private.h>
 #include <math_ldbl_opt.h>
@@ -76,7 +77,7 @@ long double __nextafterl(long double x, long double y)
            }
            if(ihx <= 0x0360000000000000LL) {  /* x <= LDBL_MIN */
              u = math_opt_barrier (x);
-             x -= __LDBL_DENORM_MIN__;
+             x -= LDBL_TRUE_MIN;
              if (ihx < 0x0360000000000000LL
                  || (hx > 0 && lx <= 0)
                  || (hx < 0 && lx > 1)) {
@@ -115,14 +116,14 @@ long double __nextafterl(long double x, long double y)
            }
            if(ihx <= 0x0360000000000000LL) {  /* x <= LDBL_MIN */
              u = math_opt_barrier (x);
-             x += __LDBL_DENORM_MIN__;
+             x += LDBL_TRUE_MIN;
              if (ihx < 0x0360000000000000LL
                  || (hx > 0 && lx < 0 && lx != 0x8000000000000001LL)
                  || (hx < 0 && lx >= 0)) {
                u = u * u;
                math_force_eval (u);            /* raise underflow flag */
              }
-             if (x == 0.0L)    /* handle negative __LDBL_DENORM_MIN__ case */
+             if (x == 0.0L)    /* handle negative LDBL_TRUE_MIN case */
                x = -0.0L;
              return x;
            }
index d11885e881f2906a33415991523cf966f0e68237..1a0d83b8d093ce82dc5f02cb232a3ea69c7b2dda 100644 (file)
@@ -68,7 +68,7 @@ __fmal (long double x, long double y, long double z)
       if (u.ieee.exponent + v.ieee.exponent
          > 0x7fff + IEEE854_LONG_DOUBLE_BIAS)
        return x * y;
-      /* If x * y is less than 1/4 of LDBL_DENORM_MIN, neither the
+      /* If x * y is less than 1/4 of LDBL_TRUE_MIN, neither the
         result nor whether there is underflow depends on its exact
         value, only on its sign.  */
       if (u.ieee.exponent + v.ieee.exponent
This page took 0.145057 seconds and 5 git commands to generate.