about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--locale/programs/ld-ctype.c10
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps63
3 files changed, 61 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f04a21d07..f0d25372c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 1999-11-21  Ulrich Drepper  <drepper@cygnus.com>
 
+	* sysdeps/i386/fpu/libm-test-ulps: Increase error value for latest
+	gcc version.
+
 	* locale/programs/ld-ctype.c (ctype_read): Correctly implement
 	14652-style definition of new maps and classes.
 
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index d9a560783f..29ef15d0a5 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -1790,9 +1790,11 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result,
 		    }
 		}
 	      else
-		class_bit = _ISwbit (cnt);
+		{
+		  class_bit = _ISwbit (cnt);
 
-	      free (now->val.str.startmb);
+		  free (now->val.str.startmb);
+		}
 	    }
 	  else if (now->tok == tok_digit)
 	    goto handle_tok_digit;
@@ -2070,7 +2072,9 @@ with character code range values one must use the absolute ellipsis `...'"));
 		if (strcmp (now->val.str.startmb, ctype->mapnames[cnt]) == 0)
 		  break;
 
-	      if (cnt >= ctype->map_collection_nr)
+	      if (cnt < ctype->map_collection_nr)
+		free (now->val.str.startmb);
+	      else
 		/* OK, it's a new map.  */
 		ctype_map_new (ldfile, ctype, now->val.str.startmb, charmap);
 
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 92035cb9a5..5f7551ae42 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -579,6 +579,11 @@ ifloat: 1
 ildouble: 4096
 ldouble: 4096
 
+# gamma
+Test "gamma (-0.5) == log(2*sqrt(pi))":
+double: 1
+idouble: 1
+
 # hypot
 Test "hypot (-0.7, -12.4) == 12.41974234837422060118":
 float: 1
@@ -624,6 +629,8 @@ ifloat: 1
 Test "j0 (2.0) == 0.22389077914123566805":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 Test "j0 (8.0) == 0.17165080713755390609":
 float: 1
 ifloat: 1
@@ -632,6 +639,8 @@ ifloat: 1
 Test "j1 (10.0) == 0.043472746168861436670":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 Test "j1 (2.0) == 0.57672480775687338720":
 double: 1
 idouble: 1
@@ -646,12 +655,16 @@ ifloat: 1
 Test "jn (0, 2.0) == 0.22389077914123566805":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 Test "jn (0, 8.0) == 0.17165080713755390609":
 float: 1
 ifloat: 1
 Test "jn (1, 10.0) == 0.043472746168861436670":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 Test "jn (1, 2.0) == 0.57672480775687338720":
 double: 1
 idouble: 1
@@ -668,6 +681,11 @@ double: 3
 float: 1
 idouble: 3
 ifloat: 1
+Test "jn (10, 2.0) == 0.25153862827167367096e-6":
+float: 1
+ifloat: 1
+double: 1
+idouble: 1
 Test "jn (10, 10.0) == 0.20748610663335885770":
 float: 1
 ifloat: 1
@@ -682,6 +700,9 @@ float: 1
 ifloat: 1
 
 # lgamma
+Test "lgamma (-0.5) == log(2*sqrt(pi))":
+double: 1
+idouble: 1
 Test "lgamma (0.7) == 0.26086724653166651439":
 double: 1
 float: 1
@@ -804,9 +825,9 @@ ldouble: 521
 
 # tgamma
 Test "tgamma (-0.5) == -2 sqrt (pi)":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 Test "tgamma (0.5) == sqrt (pi)":
 float: 1
@@ -834,12 +855,17 @@ ifloat: 1
 Test "y0 (1.5) == 0.38244892379775884396":
 float: 1
 ifloat: 1
+Test "y0 (2.0) == 0.51037567264974511960":
+double: 1
+idouble: 1
 Test "y0 (10.0) == 0.055671167283599391424":
 float: 1
 ifloat: 1
 Test "y0 (8.0) == 0.22352148938756622053":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 
 # y1
 Test "y1 (0.1) == -6.4589510947020269877":
@@ -857,9 +883,9 @@ Test "y1 (1.5) == -0.41230862697391129595":
 float: 1
 ifloat: 1
 Test "y1 (10.0) == 0.24901542420695388392":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 Test "y1 (2.0) == -0.10703243154093754689":
 double: 1
@@ -887,12 +913,17 @@ ifloat: 1
 Test "yn (0, 1.5) == 0.38244892379775884396":
 float: 1
 ifloat: 1
+Test "yn (0, 2.0) == 0.51037567264974511960":
+double: 1
+idouble: 1
 Test "yn (0, 10.0) == 0.055671167283599391424":
 float: 1
 ifloat: 1
 Test "yn (0, 8.0) == 0.22352148938756622053":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 Test "yn (1, 0.1) == -6.4589510947020269877":
 double: 1
 float: 1
@@ -908,9 +939,9 @@ Test "yn (1, 1.5) == -0.41230862697391129595":
 float: 1
 ifloat: 1
 Test "yn (1, 10.0) == 0.24901542420695388392":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 Test "yn (1, 2.0) == -0.10703243154093754689":
 double: 1
@@ -934,13 +965,15 @@ Test "yn (10, 1.0) == -0.12161801427868918929e9":
 float: 1
 ifloat: 1
 Test "yn (10, 10.0) == -0.35981415218340272205":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 Test "yn (10, 2.0) == -129184.54220803928264":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 Test "yn (3, 0.1) == -5099.3323786129048894":
 double: 1
 float: 1
@@ -1265,6 +1298,10 @@ ifloat: 1
 ildouble: 4096
 ldouble: 4096
 
+Function: "gamma":
+double: 1
+idouble: 1
+
 Function: "hypot":
 double: 1
 float: 1
@@ -1274,6 +1311,8 @@ ldouble: 560
 Function: "j0":
 float: 1
 ifloat: 1
+double: 1
+idouble: 1
 
 Function: "j1":
 double: 1
@@ -1362,9 +1401,9 @@ ildouble: 521
 ldouble: 521
 
 Function: "tgamma":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 
 Function: "y0":
@@ -1374,9 +1413,9 @@ idouble: 2
 ifloat: 1
 
 Function: "y1":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 
 Function: "yn":