diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-06-05 22:17:13 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-06-05 22:17:13 (GMT) |
commit | 8641814c4e5b4211e0980df783c3d2d25f484226 (patch) | |
tree | 14301cf1ffc17ffdc945aea72752ce41703c77a2 /fortran | |
parent | 043173a689015960758c0276486eca9e7a223366 (diff) | |
download | hdf5-8641814c4e5b4211e0980df783c3d2d25f484226.zip hdf5-8641814c4e5b4211e0980df783c3d2d25f484226.tar.gz hdf5-8641814c4e5b4211e0980df783c3d2d25f484226.tar.bz2 |
[svn-r27154] fixed issue with mis-matching long double between Fortran and C
Diffstat (limited to 'fortran')
-rw-r--r-- | fortran/Makefile.in | 1 | ||||
-rw-r--r-- | fortran/examples/Makefile.in | 1 | ||||
-rw-r--r-- | fortran/src/H5_f.c | 9 | ||||
-rw-r--r-- | fortran/src/H5_ff.F90 | 4 | ||||
-rw-r--r-- | fortran/src/H5config_f.inc.in | 3 | ||||
-rw-r--r-- | fortran/src/H5fort_type_defines.h.in | 7 | ||||
-rw-r--r-- | fortran/src/H5match_types.c | 28 | ||||
-rw-r--r-- | fortran/src/Makefile.in | 1 | ||||
-rw-r--r-- | fortran/test/Makefile.in | 1 | ||||
-rw-r--r-- | fortran/test/tH5Sselect.f90 | 64 | ||||
-rw-r--r-- | fortran/test/tH5T_F03.F90 | 30 | ||||
-rw-r--r-- | fortran/testpar/Makefile.in | 1 |
12 files changed, 88 insertions, 62 deletions
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@ |