aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mips/math-tests.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mips/math-tests.h')
-rw-r--r--sysdeps/mips/math-tests.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/sysdeps/mips/math-tests.h b/sysdeps/mips/math-tests.h
index 7be132685b..3f6ae3fc29 100644
--- a/sysdeps/mips/math-tests.h
+++ b/sysdeps/mips/math-tests.h
@@ -16,12 +16,13 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <features.h>
#include <sgidefs.h>
/* MIPS soft float does not support exceptions and rounding modes, and
- long double when wider than double is implemented using fp-bit
- which does not integrate with hardware exceptions and rounding
- modes. */
+ before GCC 4.9 long double when wider than double is implemented
+ using fp-bit which does not integrate with hardware exceptions and
+ rounding modes. */
#ifdef __mips_soft_float
# define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
# define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
@@ -29,7 +30,7 @@
# define EXCEPTION_TESTS_float 0
# define EXCEPTION_TESTS_double 0
# define EXCEPTION_TESTS_long_double 0
-#elif _MIPS_SIM != _ABIO32
+#elif _MIPS_SIM != _ABIO32 && !__GNUC_PREREQ (4, 9)
# define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
# define EXCEPTION_TESTS_long_double 0
#endif