summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-06-05 22:17:13 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-06-05 22:17:13 (GMT)
commit8641814c4e5b4211e0980df783c3d2d25f484226 (patch)
tree14301cf1ffc17ffdc945aea72752ce41703c77a2
parent043173a689015960758c0276486eca9e7a223366 (diff)
downloadhdf5-8641814c4e5b4211e0980df783c3d2d25f484226.zip
hdf5-8641814c4e5b4211e0980df783c3d2d25f484226.tar.gz
hdf5-8641814c4e5b4211e0980df783c3d2d25f484226.tar.bz2
[svn-r27154] fixed issue with mis-matching long double between Fortran and C
-rw-r--r--Makefile.in1
-rw-r--r--c++/Makefile.in1
-rw-r--r--c++/examples/Makefile.in1
-rw-r--r--c++/src/Makefile.in1
-rw-r--r--c++/test/Makefile.in1
-rwxr-xr-xconfigure27
-rw-r--r--configure.ac4
-rw-r--r--examples/Makefile.in1
-rw-r--r--fortran/Makefile.in1
-rw-r--r--fortran/examples/Makefile.in1
-rw-r--r--fortran/src/H5_f.c9
-rw-r--r--fortran/src/H5_ff.F904
-rw-r--r--fortran/src/H5config_f.inc.in3
-rw-r--r--fortran/src/H5fort_type_defines.h.in7
-rw-r--r--fortran/src/H5match_types.c28
-rw-r--r--fortran/src/Makefile.in1
-rw-r--r--fortran/test/Makefile.in1
-rw-r--r--fortran/test/tH5Sselect.f9064
-rw-r--r--fortran/test/tH5T_F03.F9030
-rw-r--r--fortran/testpar/Makefile.in1
-rw-r--r--hl/Makefile.in1
-rw-r--r--hl/c++/Makefile.in1
-rw-r--r--hl/c++/examples/Makefile.in1
-rw-r--r--hl/c++/src/Makefile.in1
-rw-r--r--hl/c++/test/Makefile.in1
-rw-r--r--hl/examples/Makefile.in1
-rw-r--r--hl/fortran/Makefile.in1
-rw-r--r--hl/fortran/examples/Makefile.in1
-rw-r--r--hl/fortran/src/Makefile.in1
-rw-r--r--hl/fortran/test/Makefile.in1
-rw-r--r--hl/fortran/test/tstlite.f904
-rw-r--r--hl/src/Makefile.in1
-rw-r--r--hl/test/Makefile.in1
-rw-r--r--hl/tools/Makefile.in1
-rw-r--r--hl/tools/gif2h5/Makefile.in1
-rw-r--r--m4/aclocal_fc.m411
-rw-r--r--src/H5config.h.in3
-rw-r--r--src/Makefile.in1
-rw-r--r--test/Makefile.in1
-rw-r--r--testpar/Makefile.in1
-rw-r--r--tools/Makefile.in1
-rw-r--r--tools/h5copy/Makefile.in1
-rw-r--r--tools/h5diff/Makefile.in1
-rw-r--r--tools/h5dump/Makefile.in1
-rw-r--r--tools/h5import/Makefile.in1
-rw-r--r--tools/h5jam/Makefile.in1
-rw-r--r--tools/h5ls/Makefile.in1
-rw-r--r--tools/h5repack/Makefile.in1
-rw-r--r--tools/h5stat/Makefile.in1
-rw-r--r--tools/lib/Makefile.in1
-rw-r--r--tools/misc/Makefile.in1
-rw-r--r--tools/perform/Makefile.in1
52 files changed, 155 insertions, 79 deletions
diff --git a/Makefile.in b/Makefile.in
index 10e9d76..a1edd4c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -294,6 +294,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/c++/Makefile.in b/c++/Makefile.in
index 96c1a36..8fdfb06 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 3b82177..433f3e2 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -402,6 +402,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index 69e8abd..dcfac25 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -465,6 +465,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 147a31a..0b8ae50 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -456,6 +456,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/configure b/configure
index 69dee64..8fddc6a 100755
--- a/configure
+++ b/configure
@@ -719,6 +719,7 @@ am__fastdepCXX_TRUE
CXXDEPMODE
ac_ct_CXX
CXXFLAGS
+FORTRAN_HAVE_C_LONG_DOUBLE
HAVE_Fortran_INTEGER_SIZEOF_16
PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF
PAC_FORTRAN_NATIVE_DOUBLE_KIND
@@ -7118,10 +7119,15 @@ if ac_fn_fc_try_run "$LINENO"; then :
if test -s pac_fconftest.out ; then
- tmp="`cat pac_fconftest.out`"
+ tmp="`cat pac_fconftest.out`"
pac_validIntKinds="`echo $tmp | sed -e 's/.*A\(.*\)B.*/\1/'`"
pac_validRealKinds="`echo $tmp | sed -e 's/.*C\(.*\)D.*/\1/'`"
PAC_FC_MAX_REAL_PRECISION="`echo $tmp | sed -e 's/.*E\(.*\)F.*/\1/'`"
+
+cat >>confdefs.h <<_ACEOF
+#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION
+_ACEOF
+
PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds | sed -e 's/ /,/g'`}"
PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds | sed -e 's/ /,/g'`}"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5
@@ -7142,6 +7148,7 @@ $as_echo "Error" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
$as_echo "$as_me: WARNING: No output from test program!" >&2;}
fi
+ rm -f pac_fconftest.out
else
@@ -7181,7 +7188,7 @@ rm -f pac_fconftest.out
INTEGER a
REAL b
DOUBLE PRECISION c
- OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
WRITE(8,*) $FC_SIZEOF_A
WRITE(8,*) kind(a)
WRITE(8,*) $FC_SIZEOF_B
@@ -7295,10 +7302,15 @@ if ac_fn_fc_try_run "$LINENO"; then :
if test -s pac_fconftest.out ; then
- tmp="`cat pac_fconftest.out`"
+ tmp="`cat pac_fconftest.out`"
pac_validIntKinds="`echo $tmp | sed -e 's/.*A\(.*\)B.*/\1/'`"
pac_validRealKinds="`echo $tmp | sed -e 's/.*C\(.*\)D.*/\1/'`"
PAC_FC_MAX_REAL_PRECISION="`echo $tmp | sed -e 's/.*E\(.*\)F.*/\1/'`"
+
+cat >>confdefs.h <<_ACEOF
+#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION
+_ACEOF
+
PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds | sed -e 's/ /,/g'`}"
PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds | sed -e 's/ /,/g'`}"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5
@@ -7319,6 +7331,7 @@ $as_echo "Error" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
$as_echo "$as_me: WARNING: No output from test program!" >&2;}
fi
+ rm -f pac_fconftest.out
else
@@ -7357,7 +7370,7 @@ for kind in $pac_validIntKinds; do
USE ISO_C_BINDING
IMPLICIT NONE
INTEGER (KIND=$kind) a
- OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
WRITE(8,'(I0)') $FC_SIZEOF_A
CLOSE(8)
END
@@ -7419,7 +7432,7 @@ for kind in $pac_validRealKinds; do
USE ISO_C_BINDING
IMPLICIT NONE
REAL (KIND=$kind) :: a
- OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
WRITE(8,'(I0)') $FC_SIZEOF_A
CLOSE(8)
END
@@ -7476,6 +7489,7 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
## Setting definition if there is a 16 byte fortran integer
if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then
HAVE_Fortran_INTEGER_SIZEOF_16="1"
@@ -7513,8 +7527,9 @@ $as_echo "#define FORTRAN_HAVE_C_SIZEOF 1" >>confdefs.h
$as_echo "#define FORTRAN_HAVE_SIZEOF 1" >>confdefs.h
fi
-
+ FORTRAN_HAVE_C_LONG_DOUBLE="0"
if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then
+ FORTRAN_HAVE_C_LONG_DOUBLE="1"
$as_echo "#define FORTRAN_HAVE_C_LONG_DOUBLE 1" >>confdefs.h
diff --git a/configure.ac b/configure.ac
index ce5c8cd..dc06081 100644
--- a/configure.ac
+++ b/configure.ac
@@ -471,6 +471,7 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
AC_SUBST([PAC_FORTRAN_NATIVE_DOUBLE_KIND])
AC_SUBST([PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF])
AC_SUBST([HAVE_Fortran_INTEGER_SIZEOF_16])
+ AC_SUBST([FORTRAN_HAVE_C_LONG_DOUBLE])
## Setting definition if there is a 16 byte fortran integer
if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then
@@ -499,8 +500,9 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then
AC_DEFINE([FORTRAN_HAVE_SIZEOF], [1], [Define if we have Fortran intrinsic SIZEOF])
fi
-
+ FORTRAN_HAVE_C_LONG_DOUBLE="0"
if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then
+ FORTRAN_HAVE_C_LONG_DOUBLE="1"
AC_DEFINE([FORTRAN_HAVE_C_LONG_DOUBLE], [1], [Define if we have Fortran C_LONG_DOUBLE])
fi
AC_DEFINE([FORTRAN_SIZEOF_LONG_DOUBLE], [SIZEOF_LONG_DOUBLE], [Determine the size of C long double])
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 29e414b..1056bd2 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -402,6 +402,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/fortran/Makefile.in b/fortran/Makefile.in
index 5fd05e7..d3b941d 100644
--- a/fortran/Makefile.in
+++ b/fortran/Makefile.in
@@ -458,6 +458,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index 5db1685..c517d7a 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -402,6 +402,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c
index c12b610..241af79 100644
--- a/fortran/src/H5_f.c
+++ b/fortran/src/H5_f.c
@@ -227,9 +227,14 @@ h5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertypes
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(double)) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
} /*end if */
-#if H5_SIZEOF_LONG_DOUBLE!=0
+#if FORTRAN_HAVE_C_LONG_DOUBLE!=0
+ else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
+ if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
+ } /*end else */
+#else
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
- if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
+ if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[12], 128) < 0) return ret_value;
} /*end else */
#endif
/*
diff --git a/fortran/src/H5_ff.F90 b/fortran/src/H5_ff.F90
index aba9d1b..74838cf 100644
--- a/fortran/src/H5_ff.F90
+++ b/fortran/src/H5_ff.F90
@@ -391,10 +391,12 @@ CONTAINS
h5_type = H5T_NATIVE_REAL_C_DOUBLE
ELSE IF(kind.EQ.Fortran_REAL_C_LONG_DOUBLE)THEN
h5_type = H5T_NATIVE_REAL_C_LONG_DOUBLE
-#if H5_PAC_FC_MAX_REAL_PRECISION > 28
+#if H5_PAC_FC_MAX_REAL_PRECISION > 28
+#ifdef H5_HAVE_FLOAT128
ELSE IF(kind.EQ.Fortran_REAL_C_FLOAT128)THEN
h5_type = H5T_NATIVE_FLOAT_128
#endif
+#endif
ENDIF
ENDIF
diff --git a/fortran/src/H5config_f.inc.in b/fortran/src/H5config_f.inc.in
index a28480c..c8fcf31 100644
--- a/fortran/src/H5config_f.inc.in
+++ b/fortran/src/H5config_f.inc.in
@@ -27,6 +27,9 @@
! Define the maximum decimal precision for reals
#undef PAC_FC_MAX_REAL_PRECISION
+! If C has quad precision
+#undef HAVE_FLOAT128
+
! Define if INTEGER*16 is available
#undef HAVE_Fortran_INTEGER_SIZEOF_16
diff --git a/fortran/src/H5fort_type_defines.h.in b/fortran/src/H5fort_type_defines.h.in
index dc2fc94..279deb9 100644
--- a/fortran/src/H5fort_type_defines.h.in
+++ b/fortran/src/H5fort_type_defines.h.in
@@ -13,9 +13,4 @@
#define H5_FORTRAN_REAL_KINDS_SIZEOF @PAC_FC_ALL_REAL_KINDS_SIZEOF@
#define H5_PAC_FC_MAX_REAL_PRECISION @PAC_FC_MAX_REAL_PRECISION@
#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @HAVE_Fortran_INTEGER_SIZEOF_16@
-#define C_LONG_DOUBLE_KIND 10
-#define C_LONG_DOUBLE_SIZEOF 12
-#define C_DOUBLE_KIND 8
-#define C_DOUBLE_SIZEOF 8
-#define C_FLOAT_KIND 4
-#define C_FLOAT_SIZEOF 4
+#define H5_HAVE_Fortran_INTRINSIC_C_LONG_DOUBLE @FORTRAN_HAVE_C_LONG_DOUBLE@
diff --git a/fortran/src/H5match_types.c b/fortran/src/H5match_types.c
index 5ac5c80..366e3da 100644
--- a/fortran/src/H5match_types.c
+++ b/fortran/src/H5match_types.c
@@ -215,6 +215,7 @@ int main(void)
} else if(sizeof(double) == RealKinds_SizeOf[i]) {
writeTypedef("float", "double", RealKinds[i]);
strcpy(Real_C_TYPES[i], "C_DOUBLE");
+/* may not have long double in fortran need check */
} else if(sizeof(long double) == RealKinds_SizeOf[i] && found_long_double == 0) {
writeTypedef("float", "long double", RealKinds[i]);
strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE");
@@ -227,12 +228,27 @@ int main(void)
strcpy(Real_C_TYPES[i], "C_FLOAT128");
}
#endif
- else {
- printf(" **** HDF5 WARNING ****/n");
- printf("Fortran REAL is %d bytes, but no corresponding C floating type exists\n",RealKinds_SizeOf[i]);
- printf("Fortran Interfaces for Fortran REALs of %d bytes will not exist\n",RealKinds_SizeOf[i]);
- }
- }
+/* else { */
+ /* /\* Did not find the real type, use the next smallest *\/ */
+/* sprintf(chrA, "%d", RealKinds[i]); */
+/* if(sizeof(float) > RealKinds_SizeOf[H5_FORTRAN_NUM_REAL_KINDS-2]) { */
+/* writeTypedef("float", "float", RealKinds[i]); */
+/* strcpy(Real_C_TYPES[i], chrA); */
+/* } else if(sizeof(double) > RealKinds_SizeOf[H5_FORTRAN_NUM_REAL_KINDS-2]) { */
+/* writeTypedef("float", "double", RealKinds[i]); */
+/* strcpy(Real_C_TYPES[i], chrA); */
+/* } else if(sizeof(long double) > RealKinds_SizeOf[H5_FORTRAN_NUM_REAL_KINDS-2]) { */
+/* writeTypedef("float", "long double", RealKinds[i]); */
+/* strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE"); } */
+ else {
+ printf(" **** HDF5 WARNING ****\n");
+ printf("Fortran REAL is %d bytes, but no corresponding C floating type exists\n",RealKinds_SizeOf[i]);
+ printf("Fortran Interface will create a custom datatype to store Fortran Real\n",RealKinds_SizeOf[i]);
+
+ writeTypedef("float", "long double", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE"); }
+ }
+/* } */
/* Now begin defining fortran types. */
fprintf(c_header, "\n");
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index eaf0244..54f2065 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -503,6 +503,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in
index eb132fb..431c42a 100644
--- a/fortran/test/Makefile.in
+++ b/fortran/test/Makefile.in
@@ -514,6 +514,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/fortran/test/tH5Sselect.f90 b/fortran/test/tH5Sselect.f90
index 10139ea..aeb80e9 100644
--- a/fortran/test/tH5Sselect.f90
+++ b/fortran/test/tH5Sselect.f90
@@ -1810,10 +1810,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1, hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2, hsize_t), total_error)
! Set offset for selection
offset(1:2) = 1
@@ -1824,10 +1824,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL VERIFY("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1, hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2, hsize_t), total_error)
! Reset offset for selection
offset(1:2) = 0
@@ -1856,10 +1856,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-4), total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-4), total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
+ CALL VERIFY("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1-4,hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2-4,hsize_t), total_error)
! Set bad offset for selection
@@ -1880,10 +1880,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 5, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-2), total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-6), total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 5_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1-2,hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2-6,hsize_t), total_error)
! Reset offset for selection
offset(1:2) = 0
@@ -1904,10 +1904,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 37, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 37, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 37_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 37_hsize_t, total_error)
! Set bad offset for selection
offset(1:2) = (/5,-5/)
@@ -1927,10 +1927,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 8, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 42, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 35, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 8_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 42_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 35_hsize_t, total_error)
! Reset offset for selection
offset(1:2) = 0
@@ -1951,10 +1951,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 50, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 50, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 50_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 50_hsize_t, total_error)
! Set bad offset for selection
offset(1:2) = (/5,-5/)
@@ -1974,10 +1974,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 8, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), 55, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), 48, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 8_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 55_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 48_hsize_t, total_error)
! Reset offset for selection
offset(1:2) = 0
diff --git a/fortran/test/tH5T_F03.F90 b/fortran/test/tH5T_F03.F90
index 076769b..ee9f2f2 100644
--- a/fortran/test/tH5T_F03.F90
+++ b/fortran/test/tH5T_F03.F90
@@ -991,13 +991,13 @@ END SUBROUTINE test_array_compound_atomic
INTEGER(HID_T) :: dset_id32 ! Dataset identifier
CHARACTER(LEN=6), PARAMETER :: dsetname16 = "dset16" ! Dataset name
#endif
- INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(C_FLOAT) !should map to REAL*4 on most modern processors
- INTEGER, PARAMETER :: real_kind_15 = SELECTED_REAL_KIND(C_DOUBLE) !should map to REAL*8 on most modern processors
+ INTEGER, PARAMETER :: real_kind_7 = C_FLOAT !should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: real_kind_15 = C_DOUBLE !should map to REAL*8 on most modern processors
#if H5_HAVE_FLOAT128!=0
INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(31)
#else
- INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(C_LONG_DOUBLE)
+ INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(17)
#endif
REAL(real_kind_31), DIMENSION(1:4), TARGET :: dset_data_r31, data_out_r31
INTEGER(HID_T) :: dset_idr16 ! Dataset identifier
@@ -1183,7 +1183,7 @@ END SUBROUTINE test_array_compound_atomic
CALL verify("h5kind_to_type",dset_data_r15(i),data_out_r15(i),total_error)
CALL verify("h5kind_to_type",dset_data_r31(i),data_out_r31(i),total_error)
END DO
-
+
!
! Close the dataset.
!
@@ -1302,8 +1302,8 @@ SUBROUTINE t_array(total_error)
CALL check("h5dget_type_f",error, error)
CALL H5Tget_array_dims_f(filetype, adims, error)
CALL check("h5dget_type_f",error, total_error)
- CALL VERIFY("H5Tget_array_dims_f", INT(adims(1)), adim0, total_error)
- CALL VERIFY("H5Tget_array_dims_f", INT(adims(2)), adim1, total_error)
+ CALL VERIFY("H5Tget_array_dims_f", adims(1), INT(adim0,hsize_t), total_error)
+ CALL VERIFY("H5Tget_array_dims_f", adims(2), INT(adim1,hsize_t), total_error)
!
! Get dataspace and allocate memory for read buffer. This is a
! three dimensional attribute when the array datatype is included.
@@ -1312,7 +1312,7 @@ SUBROUTINE t_array(total_error)
CALL check("H5Dget_space_f",error, error)
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1),1:adims(1),1:adims(2)))
!
@@ -1477,8 +1477,8 @@ SUBROUTINE t_enum(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(2)), dim1, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(2), INT(dim1,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1),1:dims(2)))
@@ -1597,8 +1597,8 @@ SUBROUTINE t_bit(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(2)), dim1, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(2), INT(dim1,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1),1:dims(2)))
!
! Read the data.
@@ -1758,7 +1758,7 @@ SUBROUTINE t_opaque(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1)))
!
! Read the data.
@@ -1879,7 +1879,7 @@ SUBROUTINE t_objref(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:maxdims(1)))
!
@@ -2058,7 +2058,7 @@ SUBROUTINE t_regref(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1)))
CALL h5sclose_f(space, error)
CALL check("h5sclose_f",error, total_error)
@@ -2733,7 +2733,7 @@ SUBROUTINE t_string(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1)))
!
diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in
index 3b924f2..6c81b76 100644
--- a/fortran/testpar/Makefile.in
+++ b/fortran/testpar/Makefile.in
@@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/Makefile.in b/hl/Makefile.in
index b845fbf..e1f7ed5 100644
--- a/hl/Makefile.in
+++ b/hl/Makefile.in
@@ -458,6 +458,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in
index cc05017..68a8868 100644
--- a/hl/c++/Makefile.in
+++ b/hl/c++/Makefile.in
@@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in
index 2867e2b..c19b82a 100644
--- a/hl/c++/examples/Makefile.in
+++ b/hl/c++/examples/Makefile.in
@@ -401,6 +401,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index 50e3d3f..ea6449e 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -457,6 +457,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in
index 9ef27d1..2188d62 100644
--- a/hl/c++/test/Makefile.in
+++ b/hl/c++/test/Makefile.in
@@ -454,6 +454,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in
index fe03288..891d82f 100644
--- a/hl/examples/Makefile.in
+++ b/hl/examples/Makefile.in
@@ -401,6 +401,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in
index 296d21a..81194a5 100644
--- a/hl/fortran/Makefile.in
+++ b/hl/fortran/Makefile.in
@@ -458,6 +458,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in
index c905cb0..8803e1e 100644
--- a/hl/fortran/examples/Makefile.in
+++ b/hl/fortran/examples/Makefile.in
@@ -401,6 +401,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 9a6511a..a06331c 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -478,6 +478,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in
index 7d41c72..be12387 100644
--- a/hl/fortran/test/Makefile.in
+++ b/hl/fortran/test/Makefile.in
@@ -466,6 +466,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/fortran/test/tstlite.f90 b/hl/fortran/test/tstlite.f90
index 8fe9612..da44eb7 100644
--- a/hl/fortran/test/tstlite.f90
+++ b/hl/fortran/test/tstlite.f90
@@ -142,15 +142,11 @@ END DO
! write dataset.
!
f_ptr = C_LOC(buf3(1))
-!PRINT*,h5kind_to_type(INT(KIND(buf3(1))), INT(H5_REAL_KIND)), H5T_NATIVE_REAL_8,H5T_NATIVE_REAL,H5T_NATIVE_REAL_16
-PRINT*, KIND(buf3(1)), Fortran_REAL_16
mytype = h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
-PRINT*,sizeof(buf3(1))
CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, &
mytype, f_ptr, errcode)
!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode)
! h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
-stop
!
! read dataset.
!
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index 6d40b4f..ef49563 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -456,6 +456,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in
index b73370c..6d6df30 100644
--- a/hl/test/Makefile.in
+++ b/hl/test/Makefile.in
@@ -493,6 +493,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in
index 9322ef4..d1f3002 100644
--- a/hl/tools/Makefile.in
+++ b/hl/tools/Makefile.in
@@ -455,6 +455,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in
index 4373a06..e79cadb 100644
--- a/hl/tools/gif2h5/Makefile.in
+++ b/hl/tools/gif2h5/Makefile.in
@@ -469,6 +469,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/m4/aclocal_fc.m4 b/m4/aclocal_fc.m4
index 35e55f0..8051752 100644
--- a/m4/aclocal_fc.m4
+++ b/m4/aclocal_fc.m4
@@ -359,12 +359,11 @@ AC_RUN_IFELSE([
dnl - valid real kinds are the numbers between A and B
dnl - max decimal precision for reals is the number between E and F
- dnl pac_validIntKinds="`sed -n -e 's/^.*ik://p' pac_fconftest.out`"
- dnl pac_validRealKinds="`sed -n -e 's/^.*rk://p' pac_fconftest.out`"
tmp="`cat pac_fconftest.out`"
pac_validIntKinds="`echo $tmp | sed -e 's/.*A\(.*\)B.*/\1/'`"
pac_validRealKinds="`echo $tmp | sed -e 's/.*C\(.*\)D.*/\1/'`"
PAC_FC_MAX_REAL_PRECISION="`echo $tmp | sed -e 's/.*E\(.*\)F.*/\1/'`"
+ AC_DEFINE_UNQUOTED([PAC_FC_MAX_REAL_PRECISION], $PAC_FC_MAX_REAL_PRECISION, [Define Fortran Maximum Real Decimal Precision])
PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds | sed -e 's/ /,/g'`}"
PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds | sed -e 's/ /,/g'`}"
AC_MSG_CHECKING([for Fortran INTEGER KINDs])
@@ -377,7 +376,7 @@ AC_RUN_IFELSE([
AC_MSG_RESULT([Error])
AC_MSG_WARN([No output from test program!])
fi
- dnl rm -f pac_fconftest.out
+ rm -f pac_fconftest.out
],[
AC_MSG_RESULT([Error])
AC_MSG_WARN([Failed to run program to determine available KINDs])
@@ -403,7 +402,7 @@ for kind in $pac_validIntKinds; do
USE ISO_C_BINDING
IMPLICIT NONE
INTEGER (KIND=$kind) a
- OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
WRITE(8,'(I0)') $FC_SIZEOF_A
CLOSE(8)
END
@@ -441,7 +440,7 @@ for kind in $pac_validRealKinds; do
USE ISO_C_BINDING
IMPLICIT NONE
REAL (KIND=$kind) :: a
- OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
WRITE(8,'(I0)') $FC_SIZEOF_A
CLOSE(8)
END
@@ -480,7 +479,7 @@ rm -f pac_fconftest.out
INTEGER a
REAL b
DOUBLE PRECISION c
- OPEN(8, FILE="pac_fconftest.out", FORM="formatted")
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
WRITE(8,*) $FC_SIZEOF_A
WRITE(8,*) kind(a)
WRITE(8,*) $FC_SIZEOF_B
diff --git a/src/H5config.h.in b/src/H5config.h.in
index d2166f0..ffbc4c2 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -422,6 +422,9 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Define Fortran Maximum Real Decimal Precision */
+#undef PAC_FC_MAX_REAL_PRECISION
+
/* Width for printf() for type `long long' or `__int64', use `ll' */
#undef PRINTF_LL_WIDTH
diff --git a/src/Makefile.in b/src/Makefile.in
index 4e9445a..75feb9e 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -517,6 +517,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/test/Makefile.in b/test/Makefile.in
index 06cd5c4..e26066a 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -861,6 +861,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/testpar/Makefile.in b/testpar/Makefile.in
index 79d0844..83c39d9 100644
--- a/testpar/Makefile.in
+++ b/testpar/Makefile.in
@@ -484,6 +484,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index b404903..7f4b9d7 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -455,6 +455,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in
index 01e1393..10d1385 100644
--- a/tools/h5copy/Makefile.in
+++ b/tools/h5copy/Makefile.in
@@ -463,6 +463,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in
index 9dffa38..b0157f7 100644
--- a/tools/h5diff/Makefile.in
+++ b/tools/h5diff/Makefile.in
@@ -470,6 +470,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in
index 1cfca3a..b8ea56a 100644
--- a/tools/h5dump/Makefile.in
+++ b/tools/h5dump/Makefile.in
@@ -469,6 +469,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in
index 22994fe..18de006 100644
--- a/tools/h5import/Makefile.in
+++ b/tools/h5import/Makefile.in
@@ -463,6 +463,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in
index cc04a20..3cd0190 100644
--- a/tools/h5jam/Makefile.in
+++ b/tools/h5jam/Makefile.in
@@ -475,6 +475,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in
index e6d283e..174ad99 100644
--- a/tools/h5ls/Makefile.in
+++ b/tools/h5ls/Makefile.in
@@ -455,6 +455,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in
index 4225a4f..4c188bd 100644
--- a/tools/h5repack/Makefile.in
+++ b/tools/h5repack/Makefile.in
@@ -487,6 +487,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in
index 6ff4d0a..084b75b 100644
--- a/tools/h5stat/Makefile.in
+++ b/tools/h5stat/Makefile.in
@@ -465,6 +465,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in
index fdccf62..d747707 100644
--- a/tools/lib/Makefile.in
+++ b/tools/lib/Makefile.in
@@ -452,6 +452,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in
index 07c88d0..818dd6b 100644
--- a/tools/misc/Makefile.in
+++ b/tools/misc/Makefile.in
@@ -490,6 +490,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
diff --git a/tools/perform/Makefile.in b/tools/perform/Makefile.in
index 367145f..d7f240d 100644
--- a/tools/perform/Makefile.in
+++ b/tools/perform/Makefile.in
@@ -494,6 +494,7 @@ FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@