diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-08-18 22:11:37 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-08-18 22:11:37 (GMT) |
commit | 6e0edba918dcbdd62414791d0e2b2f57bc97b8b5 (patch) | |
tree | 16325beecb66339d6bcb9096da5f65fde658caf9 | |
parent | d06fee7bd278d8fdeb630a97f70b87ba92ffbfe2 (diff) | |
download | hdf5-6e0edba918dcbdd62414791d0e2b2f57bc97b8b5.zip hdf5-6e0edba918dcbdd62414791d0e2b2f57bc97b8b5.tar.gz hdf5-6e0edba918dcbdd62414791d0e2b2f57bc97b8b5.tar.bz2 |
[svn-r27521] Added test to not remove double precision from valid KINDS if it is the largest compatible REAL with C.
Tested: h5committest.
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.ac | 15 |
2 files changed, 20 insertions, 13 deletions
@@ -8393,15 +8393,17 @@ _ACEOF max_real_fortran_kind="`echo \"$PAC_FC_ALL_REAL_KINDS\" | sed -ne 's/.*,\([0-9]*\)\}/\1/p'`" if test "$ac_cv_sizeof___float128" != 0;then - if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" && test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: - Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size - !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! - " >&5 + if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" && + test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof" && + test "${ac_cv_sizeof_double}" != "$max_real_fortran_sizeof" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: + Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size + !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! + " >&5 $as_echo "$as_me: WARNING: - Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size - !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! - " >&2;} + Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size + !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! + " >&2;} PAC_FC_ALL_REAL_KINDS="`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/,[0-9]\+}/}/g'`" PAC_FC_ALL_REAL_KINDS_SIZEOF="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/,[0-9]\+}/}/g'`" fi diff --git a/configure.ac b/configure.ac index 9ca4440..88d037c 100644 --- a/configure.ac +++ b/configure.ac @@ -571,11 +571,16 @@ if test "X$HDF_FORTRAN" = "Xyes"; then dnl remove the invalid kind from the list if test "$ac_cv_sizeof___float128" != 0;then - if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" && test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof"; then - AC_MSG_WARN([ - Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size - !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! - ]) + if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" && + test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof" && + dnl account for the fact that the C compiler can have 16-byte __float128 and the Fortran compiler only has 8-byte doubles, + dnl so we don't want to remove the 8-byte Fortran doubles. This is sometimes the case if different C and Fortran vendors + dnl are used (for example gnu and pgi). + test "${ac_cv_sizeof_double}" != "$max_real_fortran_sizeof" ; then + AC_MSG_WARN([ + Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size + !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!! + ]) PAC_FC_ALL_REAL_KINDS="`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/,[[0-9]]\+}/}/g'`" PAC_FC_ALL_REAL_KINDS_SIZEOF="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/,[[0-9]]\+}/}/g'`" fi |