aboutsummaryrefslogtreecommitdiff
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
glibc-c0ac34e4472e5f3b5fdf1557480e2b2c1cc72aed.tar.gz
glibc-c0ac34e4472e5f3b5fdf1557480e2b2c1cc72aed.tar.bz2
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);
}