about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/arm/math-tests.h3
-rw-r--r--sysdeps/generic/math-tests.h11
2 files changed, 14 insertions, 0 deletions
diff --git a/sysdeps/arm/math-tests.h b/sysdeps/arm/math-tests.h
index e65f135e97..ea5f8dc994 100644
--- a/sysdeps/arm/math-tests.h
+++ b/sysdeps/arm/math-tests.h
@@ -29,4 +29,7 @@
 # define EXCEPTION_TESTS_long_double	0
 #endif
 
+/* Not all VFP implementations support trapping exceptions.  */
+#define EXCEPTION_ENABLE_SUPPORTED(EXCEPT)	((EXCEPT) == 0)
+
 #include_next <math-tests.h>
diff --git a/sysdeps/generic/math-tests.h b/sysdeps/generic/math-tests.h
index c86b06705e..3f2bd69829 100644
--- a/sysdeps/generic/math-tests.h
+++ b/sysdeps/generic/math-tests.h
@@ -76,3 +76,14 @@
   (sizeof (TYPE) == sizeof (float) ? EXCEPTION_TESTS_float	\
    : sizeof (TYPE) == sizeof (double) ? EXCEPTION_TESTS_double	\
    : EXCEPTION_TESTS_long_double)
+
+/* Indicate whether the given exception trap(s) can be enabled
+   in feenableexcept.  If non-zero, the traps are always supported.
+   If zero, traps may or may not be supported depending on the
+   target (this can be determined by checking the return value
+   of feenableexcept).  This enables skipping of tests which use
+   traps.  By default traps are supported unless overridden.  */
+#ifndef EXCEPTION_ENABLE_SUPPORTED
+# define EXCEPTION_ENABLE_SUPPORTED(EXCEPT)			\
+   (EXCEPTION_TESTS_float || EXCEPTION_TESTS_double)
+#endif