This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.22-248-g8124ac3


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8124ac3e7383a5938ca87c3cc554bf6646744d65 (commit)
      from  560b04462f899e76a0062ec89422caa6e94fd67f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8124ac3e7383a5938ca87c3cc554bf6646744d65

commit 8124ac3e7383a5938ca87c3cc554bf6646744d65
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Sep 16 16:42:46 2015 +0000

    Clean up ldbl-128 / ldbl-128ibm expm1l dead code (bug 16415).
    
    The ldbl-128 and ldbl-128ibm expm1l implementations have code to
    handle +Inf and finite arguments above an overflow threshold.  Since
    they now use __expl for large positive arguments to fix other
    problems, this code is unreachable; this patch removes it.
    
    Tested for mips64 and powerpc.
    
    	[BZ #16415]
    	* sysdeps/ieee754/ldbl-128/s_expm1l.c (maxlog): Remove variable.
    	(__expm1l): Remove code to handle positive infinity and overflow.
    	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (maxlog): Remove
    	variable.
    	(__expm1l): Remove code to handle positive infinity and overflow.

diff --git a/ChangeLog b/ChangeLog
index df355ab..0a2e579 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2015-09-16  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #16415]
+	* sysdeps/ieee754/ldbl-128/s_expm1l.c (maxlog): Remove variable.
+	(__expm1l): Remove code to handle positive infinity and overflow.
+	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (maxlog): Remove
+	variable.
+	(__expm1l): Remove code to handle positive infinity and overflow.
+
 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
 	    Paul Pluzhnikov  <ppluzhnikov@google.com>
 
diff --git a/NEWS b/NEWS
index d46717e..0e9353f 100644
--- a/NEWS
+++ b/NEWS
@@ -9,12 +9,12 @@ Version 2.23
 
 * The following bugs are resolved with this release:
 
-  2542, 2543, 2558, 2898, 14341, 14912, 15786, 15918, 16141, 16296, 16517,
-  16519, 16520, 16521, 16734, 16973, 16985, 17243, 17244, 17787, 17905,
-  18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525, 18595, 18610,
-  18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778, 18781, 18787,
-  18789, 18790, 18795, 18796, 18820, 18823, 18824, 18857, 18863, 18870,
-  18872, 18873, 18875, 18887, 18921, 18952, 18961, 18966, 18967.
+  2542, 2543, 2558, 2898, 14341, 14912, 15786, 15918, 16141, 16296, 16415,
+  16517, 16519, 16520, 16521, 16734, 16973, 16985, 17243, 17244, 17787,
+  17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480, 18525, 18595,
+  18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778, 18781,
+  18787, 18789, 18790, 18795, 18796, 18820, 18823, 18824, 18857, 18863,
+  18870, 18872, 18873, 18875, 18887, 18921, 18952, 18961, 18966, 18967.
 
 * The obsolete header <regexp.h> has been removed.  Programs that require
   this header must be updated to use <regex.h> instead.
diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c
index 573d00b..f1a68c8 100644
--- a/sysdeps/ieee754/ldbl-128/s_expm1l.c
+++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c
@@ -84,8 +84,6 @@ static const long double
 
   C1 = 6.93145751953125E-1L,
   C2 = 1.428606820309417232121458176568075500134E-6L,
-/* ln (2^16384 * (1 - 2^-113)) */
-  maxlog = 1.1356523406294143949491931077970764891253E4L,
 /* ln 2^-114 */
   minarg = -7.9018778583833765273564461846232128760607E1L, big = 1e4932L;
 
@@ -110,14 +108,9 @@ __expm1l (long double x)
     }
   if (ix >= 0x7fff0000)
     {
-      /* Infinity. */
+      /* Infinity (which must be negative infinity). */
       if (((ix & 0xffff) | u.parts32.w1 | u.parts32.w2 | u.parts32.w3) == 0)
-	{
-	  if (sign)
-	    return -1.0L;
-	  else
-	    return x;
-	}
+	return -1.0L;
       /* NaN. No invalid exception. */
       return x;
     }
@@ -126,13 +119,6 @@ __expm1l (long double x)
   if ((ix == 0) && (u.parts32.w1 | u.parts32.w2 | u.parts32.w3) == 0)
     return x;
 
-  /* Overflow.  */
-  if (x > maxlog)
-    {
-      __set_errno (ERANGE);
-      return (big * big);
-    }
-
   /* Minimum value.  */
   if (x < minarg)
     return (4.0/big - 1.0L);
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c
index 0464f79..66f75e1 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c
@@ -82,8 +82,6 @@ static const long double
 
   C1 = 6.93145751953125E-1L,
   C2 = 1.428606820309417232121458176568075500134E-6L,
-/* ln (2^16384 * (1 - 2^-113)) */
-  maxlog = 1.1356523406294143949491931077970764891253E4L,
 /* ln 2^-114 */
   minarg = -7.9018778583833765273564461846232128760607E1L, big = 1e290L;
 
@@ -105,14 +103,9 @@ __expm1l (long double x)
     return __expl (x);
   if (ix >= 0x7ff00000)
     {
-      /* Infinity. */
+      /* Infinity (which must be negative infinity). */
       if (((ix - 0x7ff00000) | lx) == 0)
-	{
-	  if (sign)
-	    return -1.0L;
-	  else
-	    return x;
-	}
+	return -1.0L;
       /* NaN. No invalid exception. */
       return x;
     }
@@ -121,13 +114,6 @@ __expm1l (long double x)
   if ((ix | lx) == 0)
     return x;
 
-  /* Overflow.  */
-  if (x > maxlog)
-    {
-      __set_errno (ERANGE);
-      return (big * big);
-    }
-
   /* Minimum value.  */
   if (x < minarg)
     return (4.0/big - 1.0L);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                              |    9 +++++++++
 NEWS                                   |   12 ++++++------
 sysdeps/ieee754/ldbl-128/s_expm1l.c    |   18 ++----------------
 sysdeps/ieee754/ldbl-128ibm/s_expm1l.c |   18 ++----------------
 4 files changed, 19 insertions(+), 38 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]