diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-12-08 22:04:45 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-12-08 22:04:45 +0100 |
commit | abccc9a925b684f87bb31cbd148ac58cc417801f (patch) | |
tree | 3c8c44f8f931894129e845087f02b00a2b68dff2 /libquadmath | |
parent | 11afe8e8c87cd525efbaab282b2c01d6a52e9d86 (diff) | |
download | gcc-abccc9a925b684f87bb31cbd148ac58cc417801f.zip gcc-abccc9a925b684f87bb31cbd148ac58cc417801f.tar.gz gcc-abccc9a925b684f87bb31cbd148ac58cc417801f.tar.bz2 |
re PR fortran/46520 (libquadmath: fails at link test on bare irons)
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.
From-SVN: r167605
Diffstat (limited to 'libquadmath')
-rw-r--r-- | libquadmath/ChangeLog | 7 | ||||
-rwxr-xr-x | libquadmath/configure | 62 | ||||
-rw-r--r-- | libquadmath/configure.ac | 21 |
3 files changed, 68 insertions, 22 deletions
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog index 1d17bfa..7cf5219 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 ca1c2ba..eb37058 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 a80d60b..56b1fcb 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 |