summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2014-06-16 15:33:06 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2014-06-16 15:33:06 (GMT)
commit59517a164b52270f5a24d88b40221e43592fcc8d (patch)
tree9f10d20599c9c6bc002697cd58197e768f42ecab
parent744bc7d236c18d65e9ac84e856f67e8ed145ef91 (diff)
downloadhdf5-59517a164b52270f5a24d88b40221e43592fcc8d.zip
hdf5-59517a164b52270f5a24d88b40221e43592fcc8d.tar.gz
hdf5-59517a164b52270f5a24d88b40221e43592fcc8d.tar.bz2
[svn-r25287] Fix for:
HDFFV-8653 replace non-standard sizeof in the fortran tests with c_sizeof
-rwxr-xr-xconfigure95
-rw-r--r--configure.ac31
2 files changed, 126 insertions, 0 deletions
diff --git a/configure b/configure
index 7d9586b..fb04adf 100755
--- a/configure
+++ b/configure
@@ -739,6 +739,10 @@ FORTRAN_DEFAULT_REALisDBLE_F_FALSE
FORTRAN_DEFAULT_REALisDBLE_F_TRUE
FORTRAN_2003_CONDITIONAL_F_FALSE
FORTRAN_2003_CONDITIONAL_F_TRUE
+FORTRAN_HAVE_STORAGE_SIZE_FALSE
+FORTRAN_HAVE_STORAGE_SIZE_TRUE
+FORTRAN_HAVE_C_SIZEOF_FALSE
+FORTRAN_HAVE_C_SIZEOF_TRUE
FORTRAN_HAVE_SIZEOF_FALSE
FORTRAN_HAVE_SIZEOF_TRUE
FCLIBS
@@ -5360,6 +5364,8 @@ else
fi
HAVE_SIZEOF="no"
+HAVE_C_SIZEOF="no"
+HAVE_STORAGE_SIZE="no"
FORTRAN_DEFAULT_REALisDBLE="no"
if test "X$HDF_FORTRAN" = "Xyes"; then
@@ -6699,6 +6705,71 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
fi
+ ## See if the fortran compiler supports the intrinsic function "C_SIZEOF"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_SIZEOF" >&5
+$as_echo_n "checking if Fortran compiler supports intrinsic C_SIZEOF... " >&6; }
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat > conftest.$ac_ext <<_ACEOF
+
+ PROGRAM main
+ USE ISO_C_BINDING
+ INTEGER(C_INT) :: a
+ INTEGER(C_SIZE_T) :: result
+ result = C_SIZEOF(a)
+ END PROGRAM
+
+_ACEOF
+if ac_fn_fc_try_run "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_C_SIZEOF="yes"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+ ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic STORAGE_SIZE" >&5
+$as_echo_n "checking if Fortran compiler supports intrinsic STORAGE_SIZE... " >&6; }
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat > conftest.$ac_ext <<_ACEOF
+
+ PROGRAM main
+ INTEGER :: a
+ INTEGER :: result
+ result = STORAGE_SIZE(a)
+ END PROGRAM
+
+_ACEOF
+if ac_fn_fc_try_run "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_STORAGE_SIZE="yes"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
## Check to see if -r8 was specified to determine if we need to
## compile the DOUBLE PRECISION interfaces.
@@ -6809,6 +6880,22 @@ else
FORTRAN_HAVE_SIZEOF_FALSE=
fi
+ if test "X$HAVE_C_SIZEOF" = "Xyes"; then
+ FORTRAN_HAVE_C_SIZEOF_TRUE=
+ FORTRAN_HAVE_C_SIZEOF_FALSE='#'
+else
+ FORTRAN_HAVE_C_SIZEOF_TRUE='#'
+ FORTRAN_HAVE_C_SIZEOF_FALSE=
+fi
+
+ if test "X$HAVE_STORAGE_SIZE" = "Xyes"; then
+ FORTRAN_HAVE_STORAGE_SIZE_TRUE=
+ FORTRAN_HAVE_STORAGE_SIZE_FALSE='#'
+else
+ FORTRAN_HAVE_STORAGE_SIZE_TRUE='#'
+ FORTRAN_HAVE_STORAGE_SIZE_FALSE=
+fi
+
if test "X$HAVE_FORTRAN_2003" = "Xyes"; then
FORTRAN_2003_CONDITIONAL_F_TRUE=
FORTRAN_2003_CONDITIONAL_F_FALSE='#'
@@ -33382,6 +33469,14 @@ if test -z "${FORTRAN_HAVE_SIZEOF_TRUE}" && test -z "${FORTRAN_HAVE_SIZEOF_FALSE
as_fn_error $? "conditional \"FORTRAN_HAVE_SIZEOF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${FORTRAN_HAVE_C_SIZEOF_TRUE}" && test -z "${FORTRAN_HAVE_C_SIZEOF_FALSE}"; then
+ as_fn_error $? "conditional \"FORTRAN_HAVE_C_SIZEOF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${FORTRAN_HAVE_STORAGE_SIZE_TRUE}" && test -z "${FORTRAN_HAVE_STORAGE_SIZE_FALSE}"; then
+ as_fn_error $? "conditional \"FORTRAN_HAVE_STORAGE_SIZE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${FORTRAN_2003_CONDITIONAL_F_TRUE}" && test -z "${FORTRAN_2003_CONDITIONAL_F_FALSE}"; then
as_fn_error $? "conditional \"FORTRAN_2003_CONDITIONAL_F\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/configure.ac b/configure.ac
index 5d4e9dd..27742bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -403,6 +403,8 @@ else
fi
HAVE_SIZEOF="no"
+HAVE_C_SIZEOF="no"
+HAVE_STORAGE_SIZE="no"
FORTRAN_DEFAULT_REALisDBLE="no"
if test "X$HDF_FORTRAN" = "Xyes"; then
@@ -483,6 +485,33 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
HAVE_SIZEOF="yes"],
[AC_MSG_RESULT([no])])
+ ## See if the fortran compiler supports the intrinsic function "C_SIZEOF"
+
+ AC_MSG_CHECKING([if Fortran compiler supports intrinsic C_SIZEOF])
+ AC_TRY_RUN([
+ PROGRAM main
+ USE ISO_C_BINDING
+ INTEGER(C_INT) :: a
+ INTEGER(C_SIZE_T) :: result
+ result = C_SIZEOF(a)
+ END PROGRAM
+ ], [AC_MSG_RESULT([yes])
+ HAVE_C_SIZEOF="yes"],
+ [AC_MSG_RESULT([no])])
+
+ ## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE"
+
+ AC_MSG_CHECKING([if Fortran compiler supports intrinsic STORAGE_SIZE])
+ AC_TRY_RUN([
+ PROGRAM main
+ INTEGER :: a
+ INTEGER :: result
+ result = STORAGE_SIZE(a)
+ END PROGRAM
+ ], [AC_MSG_RESULT([yes])
+ HAVE_STORAGE_SIZE="yes"],
+ [AC_MSG_RESULT([no])])
+
## Check to see if -r8 was specified to determine if we need to
## compile the DOUBLE PRECISION interfaces.
@@ -552,6 +581,8 @@ fi
AC_LANG_POP(Fortran)
AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF], [test "X$HAVE_SIZEOF" = "Xyes"])
+AM_CONDITIONAL([FORTRAN_HAVE_C_SIZEOF], [test "X$HAVE_C_SIZEOF" = "Xyes"])
+AM_CONDITIONAL([FORTRAN_HAVE_STORAGE_SIZE], [test "X$HAVE_STORAGE_SIZE" = "Xyes"])
AM_CONDITIONAL([FORTRAN_2003_CONDITIONAL_F], [test "X$HAVE_FORTRAN_2003" = "Xyes"])
AM_CONDITIONAL([FORTRAN_DEFAULT_REALisDBLE_F], [test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"])