This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.19-550-g0570cfe


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  0570cfed7f46a6e71175e1e6fc52fa9b3f22e677 (commit)
      from  f8ba1b5654d876c8db4c9a020e6fa976d434f988 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0570cfed7f46a6e71175e1e6fc52fa9b3f22e677

commit 0570cfed7f46a6e71175e1e6fc52fa9b3f22e677
Author: Wilco <wdijkstr@arm.com>
Date:   Tue Jun 10 15:50:25 2014 +0100

    Add FE_NOMASK_ENV return value test.

diff --git a/ChangeLog b/ChangeLog
index 9055159..e8599a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-10  Wilco  <wdijkstr@arm.com>
+
+	* math/test-fenv-return.c: New file.
+	* math/Makefile: Add new test test-fenv-return.
+
 2014-06-10  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #17042]
diff --git a/math/Makefile b/math/Makefile
index b5cbfda..55ae19d 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -90,7 +90,7 @@ tests = test-matherr test-fenv atest-exp atest-sincos atest-exp2 basic-test \
 	test-misc test-fpucw test-fpucw-ieee tst-definitions test-tgmath \
 	test-tgmath-ret bug-nextafter bug-nexttoward bug-tgmath1 \
 	test-tgmath-int test-tgmath2 test-powl tst-CMPLX tst-CMPLX2 test-snan \
-	test-fenv-tls test-fenv-preserve $(tests-static)
+	test-fenv-tls test-fenv-preserve test-fenv-return $(tests-static)
 tests-static = test-fpucw-static test-fpucw-ieee-static
 # We do the `long double' tests only if this data type is available and
 # distinct from `double'.
diff --git a/math/test-fenv-return.c b/math/test-fenv-return.c
new file mode 100644
index 0000000..f94a95c
--- /dev/null
+++ b/math/test-fenv-return.c
@@ -0,0 +1,123 @@
+/* Test return value when setting FE_NOMASK_ENV (BZ16918, BZ17009).
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <fenv.h>
+#include <stdio.h>
+#include <math-tests.h>
+
+static int count_errors;
+
+static void
+test_feenableexcept (void)
+{
+#if defined FE_ALL_EXCEPT
+  int res;
+
+  fedisableexcept (FE_ALL_EXCEPT);
+
+  res = feenableexcept (FE_ALL_EXCEPT);
+
+  if (!EXCEPTION_ENABLE_SUPPORTED (FE_ALL_EXCEPT) && (res == -1))
+    {
+      puts ("feenableexcept (FE_ALL_EXCEPT) not supported, cannot test.");
+      return;
+    }
+  else if (res != 0)
+    {
+      puts ("feenableexcept (FE_ALL_EXCEPT) failed");
+      count_errors++;
+    }
+
+  if (fegetexcept () != FE_ALL_EXCEPT)
+    {
+      puts ("feenableexcept did not set all exceptions");
+      count_errors++;
+    }
+#endif
+}
+
+static void
+test_fesetenv (void)
+{
+#if defined FE_NOMASK_ENV && defined FE_ALL_EXCEPT
+  int res;
+
+  fedisableexcept (FE_ALL_EXCEPT);
+
+  res = fesetenv (FE_NOMASK_ENV);
+
+  if (!EXCEPTION_ENABLE_SUPPORTED (FE_ALL_EXCEPT) && (res != 0))
+    {
+      puts ("fesetenv (FE_NOMASK_ENV) not supported, cannot test.");
+      return;
+    }
+  else if (res != 0)
+    {
+      puts ("fesetenv (FE_NOMASK_ENV) failed");
+      count_errors++;
+    }
+
+  if (fegetexcept () != FE_ALL_EXCEPT)
+    {
+      puts ("fesetenv did not set all exceptions");
+      count_errors++;
+    }
+#endif
+}
+
+static void
+test_feupdateenv (void)
+{
+#if defined FE_NOMASK_ENV && defined FE_ALL_EXCEPT
+  int res;
+
+  fedisableexcept (FE_ALL_EXCEPT);
+
+  res = feupdateenv (FE_NOMASK_ENV);
+
+  if (!EXCEPTION_ENABLE_SUPPORTED (FE_ALL_EXCEPT) && (res != 0))
+    {
+      puts ("feupdateenv (FE_NOMASK_ENV)) not supported, cannot test.");
+      return;
+    }
+  else if (res != 0)
+    {
+      puts ("feupdateenv (FE_NOMASK_ENV) failed");
+      count_errors++;
+    }
+
+  if (fegetexcept () != FE_ALL_EXCEPT)
+    {
+      puts ("feupdateenv did not set all exceptions");
+      count_errors++;
+    }
+#endif
+}
+
+static int
+do_test (void)
+{
+  test_feenableexcept ();
+  test_fesetenv ();
+  test_feupdateenv ();
+
+  return count_errors != 0 ? 1 : 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog               |    5 ++
 math/Makefile           |    2 +-
 math/test-fenv-return.c |  123 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 129 insertions(+), 1 deletions(-)
 create mode 100644 math/test-fenv-return.c


hooks/post-receive
-- 
GNU C Library master sources


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