This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix fallback fesetenv and feupdateenv on FE_NOMASK_ENV


This patch fixes bug 17088, fallback fesetenv and feupdateenv not
giving an error for an FE_NOMASK_ENV argument when it requires traps
to be enabled.  (This is the bug tested for by test-fenv-return.c.)

Tested mips64 soft-float.

2014-06-25  Joseph Myers  <joseph@codesourcery.com>

	[BZ #17088]
	* math/fesetenv.c (__fesetenv)
	[FE_NOMASK_ENV && FE_ALL_EXCEPT != 0]: Return 1 for FE_NOMASK_ENV.
	* math/feupdateenv.c (__feupdateenv)
	[FE_NOMASK_ENV && FE_ALL_EXCEPT != 0]: Likewise.

diff --git a/math/fesetenv.c b/math/fesetenv.c
index acfe5f4..9bf42c0 100644
--- a/math/fesetenv.c
+++ b/math/fesetenv.c
@@ -23,6 +23,10 @@
 int
 __fesetenv (const fenv_t *envp)
 {
+#if defined FE_NOMASK_ENV && FE_ALL_EXCEPT != 0
+  if (envp == FE_NOMASK_ENV)
+    return 1;
+#endif
   /* Nothing to do.  */
   return 0;
 }
diff --git a/math/feupdateenv.c b/math/feupdateenv.c
index 13d819e..08d8ae2 100644
--- a/math/feupdateenv.c
+++ b/math/feupdateenv.c
@@ -23,6 +23,10 @@
 int
 __feupdateenv (const fenv_t *envp)
 {
+#if defined FE_NOMASK_ENV && FE_ALL_EXCEPT != 0
+  if (envp == FE_NOMASK_ENV)
+    return 1;
+#endif
   /* Nothing to do.  */
   return 0;
 }

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]