diff options
-rw-r--r-- | sysdeps/ieee754/ldbl-128/e_expl.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c index 37c1538c08..104ace1690 100644 --- a/sysdeps/ieee754/ldbl-128/e_expl.c +++ b/sysdeps/ieee754/ldbl-128/e_expl.c @@ -66,6 +66,7 @@ #include <inttypes.h> #include <math-barriers.h> #include <math_private.h> +#include <fenv_private.h> #include <math-underflow.h> #include <stdlib.h> #include "t_expl.h" @@ -146,9 +147,10 @@ __ieee754_expl (_Float128 x) union ieee854_long_double ex2_u, scale_u; fenv_t oldenv; - feholdexcept (&oldenv); #ifdef FE_TONEAREST - fesetround (FE_TONEAREST); + libc_feholdexcept_setroundl (&oldenv, FE_TONEAREST); +#else + libc_feholdexceptl (&oldenv); #endif /* Calculate n. */ @@ -198,7 +200,7 @@ __ieee754_expl (_Float128 x) math_force_eval (x22); /* Return result. */ - fesetenv (&oldenv); + libc_fesetenvl (&oldenv); result = x22 * ex2_u.d + ex2_u.d; |