about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-08-19 16:47:42 +0000
committerUlrich Drepper <drepper@redhat.com>1999-08-19 16:47:42 +0000
commite1b13a63d06d2ec8b122db5c76b920544b32314a (patch)
tree39d0d0daba4d1fe2654b8295537ecf62fb527e82
parent96ff49374e18f70784697f776160088474780c61 (diff)
downloadglibc-e1b13a63d06d2ec8b122db5c76b920544b32314a.tar.gz
glibc-e1b13a63d06d2ec8b122db5c76b920544b32314a.tar.xz
glibc-e1b13a63d06d2ec8b122db5c76b920544b32314a.zip
Update.
1999-08-19  Andreas Schwab  <schwab@suse.de>

	* libio/iovswscanf.c (vswscanf): Make stream unoriented initially
	and call _IO_fwide, to get the wide stream state initialized
	correctly.  Don't set _IO_JUMPS.
	* libio/vsnprintf.c (_IO_vsnprintf): Avoid casts to _IO_FILE *.
	* libio/vswprintf.c (_IO_vswprintf): Likewise.  Pass
	_IO_wstrn_jumps to _IO_no_init instead of setting _IO_WIDE_JUMPS
	directly.

1999-08-19  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (jn_test): Fix typo in description.
	(erfc_test): Add some more tests.
	(erf_test): Add some more tests.

1999-08-19  Andreas Schwab  <schwab@suse.de>

	* csu/Makefile ($(objpfx)initfini.s): Replace $(no-exceptions) by
	expression using $(exceptions).
-rw-r--r--ChangeLog21
-rw-r--r--csu/Makefile2
-rw-r--r--libio/iovswscanf.c4
-rw-r--r--libio/vsnprintf.c8
-rw-r--r--libio/vswprintf.c7
-rw-r--r--math/libm-test.c14
6 files changed, 44 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 69294b6344..003eef6036 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+1999-08-19  Andreas Schwab  <schwab@suse.de>
+
+	* libio/iovswscanf.c (vswscanf): Make stream unoriented initially
+	and call _IO_fwide, to get the wide stream state initialized
+	correctly.  Don't set _IO_JUMPS.
+	* libio/vsnprintf.c (_IO_vsnprintf): Avoid casts to _IO_FILE *.
+	* libio/vswprintf.c (_IO_vswprintf): Likewise.  Pass
+	_IO_wstrn_jumps to _IO_no_init instead of setting _IO_WIDE_JUMPS
+	directly.
+
+1999-08-19  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* math/libm-test.c (jn_test): Fix typo in description.
+	(erfc_test): Add some more tests.
+	(erf_test): Add some more tests.
+
+1999-08-19  Andreas Schwab  <schwab@suse.de>
+
+	* csu/Makefile ($(objpfx)initfini.s): Replace $(no-exceptions) by
+	expression using $(exceptions).
+
 1999-08-18  Ulrich Drepper  <drepper@cygnus.com>
 
 	* sysdeps/generic/setenv.c: Avoid warning about uninitialized variable.
diff --git a/csu/Makefile b/csu/Makefile
index 0c782c9ea2..b2e806df58 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -87,7 +87,7 @@ CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions
 
 $(objpfx)initfini.s: initfini.c
 	$(compile.c) -S $(CFLAGS-initfini.s) -finhibit-size-directive \
-		$(no-exceptions) -o $@
+		$(patsubst -f%,-fno-%,$(exceptions)) -o $@
 
 # We only have one kind of startup code files.  Static binaries and
 # shared libraries are build using the PIC version.
diff --git a/libio/iovswscanf.c b/libio/iovswscanf.c
index f0ab62a19c..262b018fbe 100644
--- a/libio/iovswscanf.c
+++ b/libio/iovswscanf.c
@@ -40,8 +40,8 @@ vswscanf (string, format, args)
   _IO_lock_t lock;
   sf._sbf._f._lock = &lock;
 #endif
-  _IO_no_init (&sf._sbf._f, 0, 1, &wd, &_IO_wstr_jumps);
-  _IO_JUMPS (&sf._sbf._f) = &_IO_str_jumps;
+  _IO_no_init (&sf._sbf._f, 0, 0, &wd, &_IO_wstr_jumps);
+  _IO_fwide (&sf._sbf._f, 1);
   _IO_wstr_init_static (&sf._sbf._f, (wchar_t *)string, 0, NULL);
   ret = _IO_vfwscanf (&sf._sbf._f, format, args, NULL);
   return ret;
diff --git a/libio/vsnprintf.c b/libio/vsnprintf.c
index 2b82df5788..8cf21d31c3 100644
--- a/libio/vsnprintf.c
+++ b/libio/vsnprintf.c
@@ -122,11 +122,11 @@ _IO_vsnprintf (string, maxlen, format, args)
       maxlen = sizeof (sf.overflow_buf);
     }
 
-  _IO_no_init ((_IO_FILE *) &sf, 0, -1, NULL, NULL);
-  _IO_JUMPS ((_IO_FILE *) &sf) = &_IO_strn_jumps;
+  _IO_no_init (&sf.f._sbf._f, 0, -1, NULL, NULL);
+  _IO_JUMPS (&sf.f._sbf._f) = &_IO_strn_jumps;
   string[0] = '\0';
-  _IO_str_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
-  ret = _IO_vfprintf ((_IO_FILE *) &sf, format, args);
+  _IO_str_init_static (&sf.f._sbf._f, string, maxlen - 1, string);
+  ret = _IO_vfprintf (&sf.f._sbf._f, format, args);
 
   if (sf.f._sbf._f._IO_buf_base != sf.overflow_buf)
     *sf.f._sbf._f._IO_write_ptr = '\0';
diff --git a/libio/vswprintf.c b/libio/vswprintf.c
index addf39089c..0b4a458568 100644
--- a/libio/vswprintf.c
+++ b/libio/vswprintf.c
@@ -126,12 +126,11 @@ _IO_vswprintf (string, maxlen, format, args)
       maxlen = sizeof (sf.overflow_buf) / sizeof (wchar_t);
     }
 
-  _IO_no_init ((_IO_FILE *) &sf, 0, 0, &wd, NULL);
-  _IO_WIDE_JUMPS ((_IO_FILE *) &sf) = &_IO_wstrn_jumps;
+  _IO_no_init (&sf.f._sbf._f, 0, 0, &wd, &_IO_wstrn_jumps);
   _IO_fwide (&sf.f._sbf._f, 1);
   string[0] = L'\0';
-  _IO_wstr_init_static ((_IO_FILE *) &sf, string, maxlen - 1, string);
-  ret = _IO_vfwprintf ((_IO_FILE *) &sf, format, args);
+  _IO_wstr_init_static (&sf.f._sbf._f, string, maxlen - 1, string);
+  ret = _IO_vfwprintf (&sf.f._sbf._f, format, args);
 
   if (sf.f._sbf._f._wide_data->_IO_buf_base != sf.overflow_buf)
     *sf.f._sbf._f._wide_data->_IO_write_ptr = '\0';
diff --git a/math/libm-test.c b/math/libm-test.c
index b2e89d1506..4c7fe8b7ae 100644
--- a/math/libm-test.c
+++ b/math/libm-test.c
@@ -1116,6 +1116,12 @@ erf_test (void)
 
   check ("erf (1.2) == 0.9103139782...", FUNC(erf) (1.2),
 	 0.91031397822963538024L);
+  check ("erf (2.0) == 0.99532...", FUNC(erf) (2.0),
+	 0.99532226501895273416L);
+  check ("erf (4.1) == 0.99999...", FUNC(erf) (4.1),
+	 0.99999999329997234592L);
+  check ("erf (27) == 1.0", FUNC(erf) (27),
+	 1.0L);
 }
 
 
@@ -1138,6 +1144,12 @@ erfc_test (void)
 
   check_eps ("erfc (1.2) == 0.0896860218...", FUNC(erfc) (1.2),
 	     0.089686021770364619762L, CHOOSE (0, 0, 8e-9));
+  check_eps ("erfc (2.0) == 0.0046777349...", FUNC(erfc) (2.0),
+	     0.0046777349810472658379L, CHOOSE (0, 9e-19, 0));
+  check_eps ("erfc (4.1) == 6.70002...*10^-9", FUNC(erfc) (4.1),
+	     0.67000276540848983727e-8L, CHOOSE (0, 2e-23, 6e-15));
+  check ("erfc (9) == 4.13703...*10^-37", FUNC(erfc) (9),
+	 0.41370317465138102381e-36L);
 }
 
 
@@ -5637,7 +5649,7 @@ jn_test (void)
 	     CHOOSE(0, 2e-35, 9.7e-27));
   check_eps ("jn (10, 0.7) = 7.517...*10^-12", FUNC(jn) (10, 0.7), 0.75175911502153953928e-11,
 	     CHOOSE(0, 7e-27, 1.8e-18));
-  check_eps ("jn (10, 1.0) = 2.630...*10^-11", FUNC(jn) (10, 1.0), 0.26306151236874532070e-9,
+  check_eps ("jn (10, 1.0) = 2.630...*10^-10", FUNC(jn) (10, 1.0), 0.26306151236874532070e-9,
 	     CHOOSE(0, 0, 5.6e-17));
   check_eps ("jn (10, 2.0) = 2.515...*10^-7", FUNC(jn) (10, 2.0), 0.25153862827167367096e-6,
 	     CHOOSE(0, 2e-22, 1.2e-13));