summaryrefslogtreecommitdiff
path: root/libquadmath
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-08 21:04:45 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-08 21:04:45 +0000
commiteac55a569f5c2e742a41a8a75b5bbdd172b5eb52 (patch)
tree3c8c44f8f931894129e845087f02b00a2b68dff2 /libquadmath
parent3f5e90a33b72b9b0cb3c955ca5c28e82db033136 (diff)
downloadgcc-eac55a569f5c2e742a41a8a75b5bbdd172b5eb52.tar.gz
2010-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/46520 * configure.ac: Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK and cache libquad_have_float128. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167605 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libquadmath')
-rw-r--r--libquadmath/ChangeLog7
-rwxr-xr-xlibquadmath/configure62
-rw-r--r--libquadmath/configure.ac21
3 files changed, 68 insertions, 22 deletions
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog
index 1d17bfa641f..7cf5219cd3c 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,5 +1,12 @@
2010-12-08 Tobias Burnus <burnus@net-b.de>
+ PR fortran/46520
+ * configure.ac: Use GCC_TRY_COMPILE_OR_LINK instead of
+ AC_TRY_LINK and cache libquad_have_float128.
+ * configure: Regenerate.
+
+2010-12-08 Tobias Burnus <burnus@net-b.de>
+
PR fortran/46543
* configure.ac: Add texinfo checks.
* Makefile.am: Handle .texi documentation.
diff --git a/libquadmath/configure b/libquadmath/configure
index ca1c2ba70a4..eb370580beb 100755
--- a/libquadmath/configure
+++ b/libquadmath/configure
@@ -11941,6 +11941,54 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __float128 is supported" >&5
$as_echo_n "checking whether __float128 is supported... " >&6; }
+if test "${libquad_cv_have_float128+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test x$gcc_no_link = xyes; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ typedef _Complex float __attribute__((mode(TC))) __complex128;
+
+ __float128 foo (__float128 x)
+ {
+
+ __complex128 z1, z2;
+
+ z1 = x;
+ z2 = x / 7.Q;
+ z2 /= z1;
+
+ return (__float128) z2;
+ }
+
+ __float128 bar (__float128 x)
+ {
+ return x * __builtin_huge_valq ();
+ }
+
+int
+main ()
+{
+
+ foo (1.2Q);
+ bar (1.2Q);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ libquad_cv_have_float128=yes
+
+else
+
+ libquad_cv_have_float128=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
if test x$gcc_no_link = xyes; then
as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
fi
@@ -11979,20 +12027,20 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- libquad_have_float128=yes
+ libquad_cv_have_float128=yes
else
- libquad_have_float128=no
+ libquad_cv_have_float128=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libquad_have_float128" >&5
-$as_echo "$libquad_have_float128" >&6; }
-
-
- if test "x$libquad_have_float128" = xyes; then
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libquad_cv_have_float128" >&5
+$as_echo "$libquad_cv_have_float128" >&6; }
+ if test "x$libquad_cv_have_float128" = xyes; then
BUILD_LIBQUADMATH_TRUE=
BUILD_LIBQUADMATH_FALSE='#'
else
diff --git a/libquadmath/configure.ac b/libquadmath/configure.ac
index a80d60b2221..56b1fcb2792 100644
--- a/libquadmath/configure.ac
+++ b/libquadmath/configure.ac
@@ -149,8 +149,8 @@ AM_CONDITIONAL(LIBQUAD_USE_SYMVER, [test "x$quadmath_use_symver" != xno])
AM_CONDITIONAL(LIBQUAD_USE_SYMVER_GNU, [test "x$quadmath_use_symver" = xgnu])
AM_CONDITIONAL(LIBQUAD_USE_SYMVER_SUN, [test "x$quadmath_use_symver" = xsun])
-AC_MSG_CHECKING([whether __float128 is supported])
- AC_TRY_LINK([
+AC_CACHE_CHECK([whether __float128 is supported], [libquad_cv_have_float128],
+ [GCC_TRY_COMPILE_OR_LINK([
typedef _Complex float __attribute__((mode(TC))) __complex128;
__float128 foo (__float128 x)
@@ -173,20 +173,11 @@ AC_MSG_CHECKING([whether __float128 is supported])
foo (1.2Q);
bar (1.2Q);
],[
- libquad_have_float128=yes
+ libquad_cv_have_float128=yes
],[
- libquad_have_float128=no
-])
-AC_MSG_RESULT([$libquad_have_float128])
-
-dnl
-dnl Enable the following for a stand-alone library:
-dnl
-dnl if test $libquad_have_float128 = no; then
-dnl AC_MSG_ERROR([__float128 support is required to build this library.])
-dnl fi
-
-AM_CONDITIONAL(BUILD_LIBQUADMATH, [test "x$libquad_have_float128" = xyes])
+ libquad_cv_have_float128=no
+])])
+AM_CONDITIONAL(BUILD_LIBQUADMATH, [test "x$libquad_cv_have_float128" = xyes])
AC_CACHE_SAVE