summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/ieee754/ldbl-128/e_expl.c8
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;