OSDN Git Service

2010-12-08 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Dec 2010 21:04:45 +0000 (21:04 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Dec 2010 21:04:45 +0000 (21:04 +0000)
        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

libquadmath/ChangeLog
libquadmath/configure
libquadmath/configure.ac

index 1d17bfa..7cf5219 100644 (file)
@@ -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.
index ca1c2ba..eb37058 100755 (executable)
 
 { $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
index a80d60b..56b1fcb 100644 (file)
@@ -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