summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-11-12 17:23:30 +0000
committerUlrich Drepper <drepper@redhat.com>1999-11-12 17:23:30 +0000
commit05ef7ce90dbb9125cdcd6ea2525efad6d1c585b7 (patch)
tree5102b915804cf59ef63ca6a05a2cba1127cfe649 /math
parentb2f46c3c0e2119545e52a01e1d73a93d21ebbc0d (diff)
downloadglibc-05ef7ce90dbb9125cdcd6ea2525efad6d1c585b7.tar.gz
glibc-05ef7ce90dbb9125cdcd6ea2525efad6d1c585b7.tar.xz
glibc-05ef7ce90dbb9125cdcd6ea2525efad6d1c585b7.zip
Update.
1999-11-02  Andreas Jaeger  <aj@suse.de>

	* Versions.def: Add version GLIBC_2.2 for libm.
	* math/fenv.h: Add prototypes for fegetexcept, feenableexcept and
	fedisableexcept.
	* sysdeps/generic/feenablxcpt.c: Stub file.
	* sysdeps/generic/fedisblxcpt.c: Stub file.
	* sysdeps/generic/fegetexcept.c: Stub file.
	* sysdeps/i386/fpu/fedisblxcpt.c: New file.
	* sysdeps/i386/fpu/feenablxcpt.c: New file.
	* sysdeps/i386/fpu/fegetexcept.c: New file.
	* math/Makefile (libm-support): Add new files.
	* math/Versions: Add new functions with version GLIBC_2.2.
	* manual/arith.texi (Control Functions): Document fegetexcept,
	feenableexcept and fedisableexcept.
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 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 */