about summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-opt/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-opt/configure.in')
-rw-r--r--sysdeps/ieee754/ldbl-opt/configure.in16
1 files changed, 10 insertions, 6 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/configure.in b/sysdeps/ieee754/ldbl-opt/configure.in
index bc9d29908f..a77fadd1c4 100644
--- a/sysdeps/ieee754/ldbl-opt/configure.in
+++ b/sysdeps/ieee754/ldbl-opt/configure.in
@@ -4,12 +4,16 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 
 AC_CACHE_CHECK(whether $CC $CFLAGS supports -mlong-double-128,
 	       libc_cv_mlong_double_128, [dnl
-if $CC $CFLAGS -mlong-double-128 -S -xc /dev/null -o /dev/null 2>&1
-then
-  libc_cv_mlong_double_128=yes
-else
-  libc_cv_mlong_double_128=no
-fi])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mlong-double-128"
+AC_TRY_COMPILE(, [
+#ifndef __LONG_DOUBLE_128__
+# error "compiler did not predefine __LONG_DOUBLE_128__ as expected"
+#endif
+long double foobar (long double x) { return x; }],
+	       libc_cv_mlong_double_128=yes,
+	       libc_cv_mlong_double_128=no)
+CFLAGS="$save_CFLAGS"])
 if test "$libc_cv_mlong_double_128" = no; then
   AC_MSG_ERROR([this configuration requires -mlong-double-128 support])
 fi