summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgcc/ChangeLog6
-rw-r--r--libgcc/configure13
-rw-r--r--libgcc/configure.ac9
3 files changed, 27 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 1b2a20b75bf..0bfba640e21 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * configure.ac (libgcc_cv_dfp): Extend check to probe fenv.h
+ availability.
+ * configure: Regenerate
+
2013-11-07 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
diff --git a/libgcc/configure b/libgcc/configure
index 29fa46f597a..2bb1fb2d94f 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -4066,7 +4066,20 @@ if test "${libgcc_cv_dfp+set}" = set; then :
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
+#include <fenv.h>
+
+int
+main ()
+{
+
_Decimal32 x;
+int fe_except =
+ FE_INVALID|FE_DIVBYZERO|FE_OVERFLOW|FE_UNDERFLOW|FE_INEXACT;
+
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
libgcc_cv_dfp=yes
diff --git a/libgcc/configure.ac b/libgcc/configure.ac
index 186cd6e9cd7..560e988e048 100644
--- a/libgcc/configure.ac
+++ b/libgcc/configure.ac
@@ -182,7 +182,14 @@ AC_SUBST(long_double_type_size)
# Check for decimal float support.
AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp],
- [AC_COMPILE_IFELSE([_Decimal32 x;], [libgcc_cv_dfp=yes],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <fenv.h>
+]], [[
+_Decimal32 x;
+int fe_except =
+ FE_INVALID|FE_DIVBYZERO|FE_OVERFLOW|FE_UNDERFLOW|FE_INEXACT;
+]])],
+ [libgcc_cv_dfp=yes],
[libgcc_cv_dfp=no])])
decimal_float=$libgcc_cv_dfp
AC_SUBST(decimal_float)