summary refs log tree commit diff
path: root/math/test-fenv.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-09-28 23:11:33 +0000
committerUlrich Drepper <drepper@redhat.com>2000-09-28 23:11:33 +0000
commitc0ac34e4472e5f3b5fdf1557480e2b2c1cc72aed (patch)
tree428164e4a1b3ba35e5469c2d21aeb5c84afa8003 /math/test-fenv.c
parent8cab1d380a9a9743ed825533f389e0edb7b777d0 (diff)
downloadglibc-c0ac34e4472e5f3b5fdf1557480e2b2c1cc72aed.tar.gz
glibc-c0ac34e4472e5f3b5fdf1557480e2b2c1cc72aed.tar.xz
glibc-c0ac34e4472e5f3b5fdf1557480e2b2c1cc72aed.zip
Update.
	* mutex.c (__pthread_mutex_unlock): For PTHREAD_MUTEX_RECURSIVE_NP
	test for owner first.
	Patch by Kaz Kylheku <kaz@ashi.footprints.net>.
Diffstat (limited to 'math/test-fenv.c')
-rw-r--r--math/test-fenv.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/math/test-fenv.c b/math/test-fenv.c
index d803f27808..c369fc0aaa 100644
--- a/math/test-fenv.c
+++ b/math/test-fenv.c
@@ -400,6 +400,7 @@ static void
 feexcp_mask_test (const char *flag_name, int fe_exc)
 {
   int status;
+  int exception;
   pid_t pid;
 
   printf ("Test: after fedisable (%s) processes will not abort\n", flag_name);
@@ -415,7 +416,22 @@ feexcp_mask_test (const char *flag_name, int fe_exc)
       setrlimit (RLIMIT_CORE, &core_limit);
 #endif
       feenableexcept (FE_ALL_EXCEPT);
-      fedisableexcept (fe_exc);
+      exception = fe_exc;
+#ifdef FE_INEXACT
+      /* The standard allows the inexact exception to be set together with the
+	 underflow and overflow exceptions.  So add FE_INEXACT to the set of
+	 exceptions to be disabled if we will be raising underflow or
+	 overflow.  */
+# ifdef FE_OVERFLOW
+      if (fe_exc & FE_OVERFLOW)
+	exception |= FE_INEXACT;
+# endif
+# ifdef FE_UNDERFLOW
+      if (fe_exc & FE_UNDERFLOW)
+	exception |= FE_INEXACT;
+# endif
+#endif
+      fedisableexcept (exception);
       feraiseexcept (fe_exc);
       exit (2);
     }