diff options
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 3 | ||||
-rw-r--r-- | math/Versions | 4 | ||||
-rw-r--r-- | math/fenv.h | 16 |
3 files changed, 22 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile index bc2e7b9307..f9f0ce4790 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 2be65529c9..99064cee68 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 845b5e637f..bda3ee916f 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 */ |