aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/arm
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/arm')
-rw-r--r--sysdeps/arm/math-tests.h3
-rw-r--r--sysdeps/arm/nofpu/math-tests-rounding.h29
2 files changed, 29 insertions, 3 deletions
diff --git a/sysdeps/arm/math-tests.h b/sysdeps/arm/math-tests.h
index d4d68f39c9..9a34902b6a 100644
--- a/sysdeps/arm/math-tests.h
+++ b/sysdeps/arm/math-tests.h
@@ -21,9 +21,6 @@
support rounding modes, although fesetround succeeds, and do not
support exceptions. */
#ifdef __SOFTFP__
-# define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
-# define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
-# define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
# define EXCEPTION_TESTS_float 0
# define EXCEPTION_TESTS_double 0
# define EXCEPTION_TESTS_long_double 0
diff --git a/sysdeps/arm/nofpu/math-tests-rounding.h b/sysdeps/arm/nofpu/math-tests-rounding.h
new file mode 100644
index 0000000000..9a3b58c080
--- /dev/null
+++ b/sysdeps/arm/nofpu/math-tests-rounding.h
@@ -0,0 +1,29 @@
+/* Configuration for math tests: rounding mode support. ARM no-FPU version.
+ Copyright (C) 2013-2018 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/>. */
+
+#ifndef ARM_NOFPU_MATH_TESTS_ROUNDING_H
+#define ARM_NOFPU_MATH_TESTS_ROUNDING_H 1
+
+/* On systems with VFP support, but where glibc is built for
+ soft-float, the libgcc functions used in libc and libm do not
+ support rounding modes, although fesetround succeeds. */
+#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
+#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
+#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
+
+#endif /* math-tests-rounding.h. */