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.11-149-g64f3882


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  64f388285e11812f041d3aa8347f82efde4033c1 (commit)
      from  893549c5a06956d2559391a3ffdeb6ded53b65c0 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=64f388285e11812f041d3aa8347f82efde4033c1

commit 64f388285e11812f041d3aa8347f82efde4033c1
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Jan 16 17:55:37 2010 -0800

    sysdeps/ieee754/ldbl-128/ fixes

diff --git a/ChangeLog b/ChangeLog
index a8ffc76..d1dcbad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/ieee754/ldbl-128/s_ceill.c (huge): Add L suffix to the
+	constant.
+	* sysdeps/ieee754/ldbl-128/s_floorl.c (huge): Likewise.
+	* sysdeps/ieee754/ldbl-128/s_expm1l.c (big): Decrease to avoid
+	overflow.
+	* sysdeps/ieee754/ldbl-128/s_log1pl.c (big): Remove unused variable.
+
+	* sysdeps/ieee754/ldbl-128/s_nexttowardf.c (__nexttowardf): Use
+	math_opt_barrier and math_force_eval macros.
+
 2010-01-15  Ulrich Drepper  <drepper@redhat.com>
 
 	* posix/regcomp.c: Fix a few more cases of ignored return values.
diff --git a/sysdeps/ieee754/ldbl-128/s_ceill.c b/sysdeps/ieee754/ldbl-128/s_ceill.c
index 76bda9f..71f2fee 100644
--- a/sysdeps/ieee754/ldbl-128/s_ceill.c
+++ b/sysdeps/ieee754/ldbl-128/s_ceill.c
@@ -30,9 +30,9 @@ static char rcsid[] = "$NetBSD: $";
 #include "math_private.h"
 
 #ifdef __STDC__
-static const long double huge = 1.0e4930;
+static const long double huge = 1.0e4930L;
 #else
-static long double huge = 1.0e4930;
+static long double huge = 1.0e4930L;
 #endif
 
 #ifdef __STDC__
diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c
index a82489b..dec6404 100644
--- a/sysdeps/ieee754/ldbl-128/s_expm1l.c
+++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c
@@ -86,7 +86,7 @@ static const long double
 /* ln (2^16384 * (1 - 2^-113)) */
   maxlog = 1.1356523406294143949491931077970764891253E4L,
 /* ln 2^-114 */
-  minarg = -7.9018778583833765273564461846232128760607E1L, big = 2e4932L;
+  minarg = -7.9018778583833765273564461846232128760607E1L, big = 1e4932L;
 
 
 long double
diff --git a/sysdeps/ieee754/ldbl-128/s_floorl.c b/sysdeps/ieee754/ldbl-128/s_floorl.c
index ff5b98d..2a60a79 100644
--- a/sysdeps/ieee754/ldbl-128/s_floorl.c
+++ b/sysdeps/ieee754/ldbl-128/s_floorl.c
@@ -30,9 +30,9 @@ static char rcsid[] = "$NetBSD: $";
 #include "math_private.h"
 
 #ifdef __STDC__
-static const long double huge = 1.0e4930;
+static const long double huge = 1.0e4930L;
 #else
-static long double huge = 1.0e4930;
+static long double huge = 1.0e4930L;
 #endif
 
 #ifdef __STDC__
diff --git a/sysdeps/ieee754/ldbl-128/s_log1pl.c b/sysdeps/ieee754/ldbl-128/s_log1pl.c
index defbe76..5e9cf49 100644
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
@@ -117,7 +117,6 @@ static const long double C2 = 1.428606820309417232121458176568075500134E-6L;
 static const long double sqrth = 0.7071067811865475244008443621048490392848L;
 /* ln (2^16384 * (1 - 2^-113)) */
 static const long double maxlog = 1.1356523406294143949491931077970764891253E4L;
-static const long double big = 2e4932L;
 static const long double zero = 0.0L;
 
 long double
diff --git a/sysdeps/ieee754/ldbl-128/s_nexttowardf.c b/sysdeps/ieee754/ldbl-128/s_nexttowardf.c
index 1a22e01..1f37d80 100644
--- a/sysdeps/ieee754/ldbl-128/s_nexttowardf.c
+++ b/sysdeps/ieee754/ldbl-128/s_nexttowardf.c
@@ -44,10 +44,12 @@ static char rcsid[] = "$NetBSD: $";
 	   return x+y;
 	if((long double) x==y) return y;	/* x=y, return y */
 	if(ix==0) {				/* x == 0 */
-	    float x2;
+	    float u;
 	    SET_FLOAT_WORD(x,(u_int32_t)((hy>>32)&0x80000000)|1);/* return +-minsub*/
-	    x2 = x*x;
-	    if(x2==x) return x2; else return x;	/* raise underflow flag */
+	    u = math_opt_barrier (x);
+	    u = u * u;
+	    math_force_eval (u);		/* raise underflow flag */
+	    return x;
 	}
 	if(hx>=0) {				/* x > 0 */
 	    if(hy<0||(ix>>23)>(iy>>48)-0x3f80
@@ -68,12 +70,9 @@ static char rcsid[] = "$NetBSD: $";
 	}
 	hy = hx&0x7f800000;
 	if(hy>=0x7f800000) return x+x;	/* overflow  */
-	if(hy<0x00800000) {		/* underflow */
-	    float x2 = x*x;
-	    if(x2!=x) {		/* raise underflow flag */
-	        SET_FLOAT_WORD(x2,hx);
-		return x2;
-	    }
+	if(hy<0x00800000) {
+	    float u = x*x;		/* underflow */
+	    math_force_eval (u);	/* raise underflow flag */
 	}
 	SET_FLOAT_WORD(x,hx);
 	return x;

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

Summary of changes:
 ChangeLog                                |   12 ++++++++++++
 sysdeps/ieee754/ldbl-128/s_ceill.c       |    4 ++--
 sysdeps/ieee754/ldbl-128/s_expm1l.c      |    2 +-
 sysdeps/ieee754/ldbl-128/s_floorl.c      |    4 ++--
 sysdeps/ieee754/ldbl-128/s_log1pl.c      |    1 -
 sysdeps/ieee754/ldbl-128/s_nexttowardf.c |   17 ++++++++---------
 6 files changed, 25 insertions(+), 15 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]