aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/Makefile3
-rw-r--r--math/Versions4
-rw-r--r--math/fenv.h16
3 files changed, 22 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile
index bc2e7b9..f9f0ce4 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -39,7 +39,8 @@ extra-libs-others = $(extra-libs)
libm-support = k_standard s_lib_version s_matherr s_signgam \
fclrexcpt fgetexcptflg fraiseexcpt fsetexcptflg \
ftestexcept fegetround fesetround fegetenv feholdexcpt \
- fesetenv feupdateenv t_exp
+ fesetenv feupdateenv t_exp fedisblxcpt feenablxcpt \
+ fegetexcept
libm-calls = e_acos e_acosh e_asin e_atan2 e_atanh e_cosh e_exp e_fmod \
e_hypot e_j0 e_j1 e_jn e_lgamma_r e_log e_log10 e_pow \
e_rem_pio2 e_remainder e_scalb e_sinh e_sqrt e_gamma_r \
diff --git a/math/Versions b/math/Versions
index 2be6552..99064ce 100644
--- a/math/Versions
+++ b/math/Versions
@@ -158,4 +158,8 @@ libm {
feclearexcept; fegetenv; fegetexceptflag; feraiseexcept;
fesetenv; fesetexceptflag; feupdateenv;
}
+ GLIBC_2.2 {
+ # fp environment function
+ feenableexcept; fedisableexcept; fegetexcept;
+ }
}
diff --git a/math/fenv.h b/math/fenv.h
index 845b5e6..bda3ee9 100644
--- a/math/fenv.h
+++ b/math/fenv.h
@@ -115,6 +115,22 @@ extern int feupdateenv (__const fenv_t *__envp) __THROW;
# include <bits/fenvinline.h>
#endif
+#ifdef __USE_GNU
+
+/* Enable individual exceptions. Will not enable more exceptions than
+ EXCEPTS specifies. Returns the previous enabled exceptions if all
+ exceptions are successfull set, otherwise returns -1. */
+extern int feenableexcept (int __excepts) __THROW;
+
+/* Disable individual exceptions. Will not disable more exceptions than
+ EXCEPTS specifies. Returns the previous enabled exceptions if all
+ exceptions are successfull disabled, otherwise returns -1. */
+extern int fedisableexcept (int __excepts) __THROW;
+
+/* Return enabled exceptions. */
+extern int fegetexcept (void) __THROW;
+#endif
+
__END_DECLS
#endif /* fenv.h */