diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-06-16 21:47:00 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-06-16 21:47:00 (GMT) |
commit | 85bcb7790404198084b47f9dcf49d8ab08f4aa4f (patch) | |
tree | 885bc468353f2a72b39d14169a0b03be7d1a7514 /fortran/src | |
parent | 48086667b56335a9344115c79e5de75fff2f4089 (diff) | |
download | hdf5-85bcb7790404198084b47f9dcf49d8ab08f4aa4f.zip hdf5-85bcb7790404198084b47f9dcf49d8ab08f4aa4f.tar.gz hdf5-85bcb7790404198084b47f9dcf49d8ab08f4aa4f.tar.bz2 |
[svn-r27221] Reworked Fortran autools REAL KIND detection.
Diffstat (limited to 'fortran/src')
-rw-r--r-- | fortran/src/H5_f.c | 24 | ||||
-rw-r--r-- | fortran/src/H5config_f.inc.in | 15 | ||||
-rw-r--r-- | fortran/src/H5fort_type_defines.h.in | 1 | ||||
-rw-r--r-- | fortran/src/H5match_types.c | 53 | ||||
-rw-r--r-- | fortran/src/H5test_kind.F90 | 158 | ||||
-rw-r--r-- | fortran/src/Makefile.in | 5 |
6 files changed, 134 insertions, 122 deletions
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c index f21528f..fa96ebe 100644 --- a/fortran/src/H5_f.c +++ b/fortran/src/H5_f.c @@ -227,27 +227,29 @@ h5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertypes /* * FIND H5T_NATIVE_REAL_C_LONG_DOUBLE */ -#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE +#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0 if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(float)) { if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return ret_value; } /*end if */ 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 FORTRAN_HAVE_C_LONG_DOUBLE!=0 +# if H5_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 */ + if ( H5_PAC_C_MAX_REAL_PRECISION >= H5_PAC_FC_MAX_REAL_PRECISION) { + if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value; + } + else { + if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value; + if ( H5Tset_precision (types[12], 128) < 0) return ret_value; + } + } # else - else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) { - if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value; - if ( H5Tset_precision (types[12], 128) < 0) return ret_value; - } /*end else */ + if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value; + if ( H5Tset_precision (types[12], 64) < 0) return ret_value; # endif - #else - if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value; - if ( H5Tset_precision (types[12], 64) < 0) return ret_value; + if ((types[12] = H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value; #endif /* * FIND H5T_NATIVE_B_8 diff --git a/fortran/src/H5config_f.inc.in b/fortran/src/H5config_f.inc.in index d6909ed..b0de405 100644 --- a/fortran/src/H5config_f.inc.in +++ b/fortran/src/H5config_f.inc.in @@ -39,3 +39,18 @@ ! Maximum decimal precision for C #undef PAC_C_MAX_REAL_PRECISION +! number of valid REAL KINDs +#undef H5CONFIG_F_NUM_RKIND + +! valid REAL KINDs (need to have a matching C counter-part) +#undef H5CONFIG_F_RKIND + +! valid REAL KINDs (need to have a matching C counter-part) +#undef H5CONFIG_F_RKIND_SIZEOF + +! number of valid INTEGER KINDs +#undef H5CONFIG_F_NUM_IKIND + +! valid INTEGER KINDs (need to have a matching C counter-part) +#undef H5CONFIG_F_IKIND + diff --git a/fortran/src/H5fort_type_defines.h.in b/fortran/src/H5fort_type_defines.h.in index 5511742..0e14e86 100644 --- a/fortran/src/H5fort_type_defines.h.in +++ b/fortran/src/H5fort_type_defines.h.in @@ -11,7 +11,6 @@ #define H5_FORTRAN_INTEGER_KINDS_SIZEOF @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@ #define H5_FORTRAN_REAL_KINDS @PAC_FC_ALL_REAL_KINDS@ #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 H5_FORTRAN_HAVE_C_LONG_DOUBLE @FORTRAN_HAVE_C_LONG_DOUBLE@ #define H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@ diff --git a/fortran/src/H5match_types.c b/fortran/src/H5match_types.c index b0e682d..360f224 100644 --- a/fortran/src/H5match_types.c +++ b/fortran/src/H5match_types.c @@ -153,7 +153,6 @@ int main(void) int FoundRealSizeKind[10]; int i, j,flag; char chrA[32],chrB[32]; - int H5_C_HAS_REAL_NATIVE_16; int IntKinds[] = H5_FORTRAN_INTEGER_KINDS; int IntKinds_SizeOf[] = H5_FORTRAN_INTEGER_KINDS_SIZEOF; @@ -169,9 +168,6 @@ int main(void) c_header = fopen(CFILE, "w"); fort_header = fopen(FFILE, "w"); - /* Default is C has 16 byte float */ - H5_C_HAS_REAL_NATIVE_16 = 1; - /* Write copyright, boilerplate to both files */ initCfile(); initFfile(); @@ -208,30 +204,45 @@ int main(void) /* (b) Define c_float_x */ for(i=0;i< H5_FORTRAN_NUM_REAL_KINDS;i++) { - if (sizeof(float) == RealKinds_SizeOf[i]) { writeTypedef("float", "float", RealKinds[i]); - strcpy(Real_C_TYPES[i], "C_FLOAT"); } + strcpy(Real_C_TYPES[i], "C_FLOAT"); + } else if(sizeof(double) == RealKinds_SizeOf[i]) { writeTypedef("float", "double", RealKinds[i]); - strcpy(Real_C_TYPES[i], "C_DOUBLE"); } + strcpy(Real_C_TYPES[i], "C_DOUBLE"); + } #if H5_FORTRAN_HAVE_C_LONG_DOUBLE!=0 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"); - found_long_double = 1; } -#endif -#ifdef H5_HAVE_FLOAT128 + found_long_double = 1; + } +# ifdef H5_HAVE_FLOAT128 /* Don't select a higher precision than Fortran can support */ else if(sizeof(__float128) == RealKinds_SizeOf[i] && found_long_double == 1 && H5_PAC_FC_MAX_REAL_PRECISION > 28) { writeTypedef("float", "__float128", RealKinds[i]); strcpy(Real_C_TYPES[i], "C_FLOAT128"); } -#else +# else else if(sizeof(long double) == RealKinds_SizeOf[i] && found_long_double == 1 && H5_PAC_FC_MAX_REAL_PRECISION > 28) { writeTypedef("float", "long double", RealKinds[i]); strcpy(Real_C_TYPES[i], "C_FLOAT128"); } +# endif +#else /* There is no C_LONG_DOUBLE intrinsic */ +# ifdef H5_HAVE_FLOAT128 + /* Don't select a higher precision than Fortran can support */ + else if(sizeof(__float128) == RealKinds_SizeOf[i] ) { + writeTypedef("float", "__float128", RealKinds[i]); + strcpy(Real_C_TYPES[i], "C_FLOAT128"); + } +# else + else if(sizeof(long double) == RealKinds_SizeOf[i] ) { + writeTypedef("float", "long double", RealKinds[i]); + strcpy(Real_C_TYPES[i], "C_FLOAT128"); + } +# endif #endif /* else { */ /* /\* Did not find the real type, use the next smallest *\/ */ @@ -246,10 +257,12 @@ int main(void) /* 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]); + printf("\n **** HDF5 WARNING ****\n"); + printf("Fortran REAL(KIND=%d) is %d Bytes, but no corresponding C float type exists of that size\n",RealKinds[i],RealKinds_SizeOf[i]); + printf(" !!! Fortran interfaces will not be generated for REAL(KIND=%d) !!!\n\n",RealKinds[i]); + RealKinds_SizeOf[i] = -1; + RealKinds[i] = -1; /* writeTypedef("float", "long double", RealKinds[i]); */ /* strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE"); } */ } @@ -392,12 +405,14 @@ int main(void) FoundRealSize[4] = -1; for(i=0;i<H5_FORTRAN_NUM_REAL_KINDS;i++) { - FoundRealSize[i] = (int)RealKinds[i]; - FoundRealSizeKind[i] = (int)RealKinds_SizeOf[i]; - sprintf(chrA, "Fortran_REAL_%s", Real_C_TYPES[i]); + if (RealKinds[i] > 0) { + FoundRealSize[i] = (int)RealKinds[i]; + FoundRealSizeKind[i] = (int)RealKinds_SizeOf[i]; + sprintf(chrA, "Fortran_REAL_%s", Real_C_TYPES[i]); /* sprintf(chrB, "real_%d_f", FoundRealSize[i]); */ - sprintf(chrB, "real_%s_f", Real_C_TYPES[i]); - writeToFiles("float",chrA, chrB, RealKinds[i], RealKinds_SizeOf[i]); + sprintf(chrB, "real_%s_f", Real_C_TYPES[i]); + writeToFiles("float",chrA, chrB, RealKinds[i], RealKinds_SizeOf[i]); + } } /* for(i=0;i<H5_FORTRAN_NUM_REAL_KINDS;i++) { */ diff --git a/fortran/src/H5test_kind.F90 b/fortran/src/H5test_kind.F90 index e83139a..f73f915 100644 --- a/fortran/src/H5test_kind.F90 +++ b/fortran/src/H5test_kind.F90 @@ -51,7 +51,15 @@ PROGRAM test_kind USE, INTRINSIC :: ISO_C_BINDING IMPLICIT NONE - INTEGER :: i, j, k, ii, ir, last, ikind_numbers(10), rkind_numbers(10) + +! These values are valid REAL KINDs (with corresponding C float) found during configure + H5_H5CONFIG_F_NUM_RKIND + H5_H5CONFIG_F_RKIND +! These values are valid INTEGER KINDs (with corresponding C float) found during configure + H5_H5CONFIG_F_NUM_IKIND + H5_H5CONFIG_F_IKIND + + INTEGER :: i, j, k INTEGER :: ji, jr, jd #ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE REAL(KIND=C_LONG_DOUBLE) :: c_longdble @@ -85,38 +93,6 @@ PROGRAM test_kind ' f_ptr = C_LOC(buf(1,1,1,1,1,1,1))' & /) - last = -1 - ii = 0 - - ikind_numbers = 0 - rkind_numbers = 0 - - DO i = 1,100 - j = SELECTED_INT_KIND(i) - IF(j .NE. last) THEN - IF(last .NE. -1) THEN - ii = ii + 1 - ikind_numbers(ii) = last - ENDIF - last = j - IF(j .EQ. -1) EXIT - ENDIF - ENDDO - - last = -1 - ir = 0 - DO i = 1,100 - j = SELECTED_REAL_KIND(i) - IF(j .NE. last) THEN - IF(last .NE. -1) THEN - ir = ir + 1 - rkind_numbers(ir) = last - ENDIF - last = j - IF(j .EQ. -1) EXIT - ENDIF - ENDDO - GOTO 10 ! Generate program information: @@ -214,8 +190,8 @@ WRITE(*,'(40(A,/))') & "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)" WRITE(*,*)" RETURN" WRITE(*,*)"END SUBROUTINE" - DO i = 1, ii - j = ikind_numbers(i) + DO i = 1, num_ikinds + j = ikind(i) WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j WRITE(*,*)" IMPLICIT NONE" WRITE(*,'(A,I0,A)')" INTEGER(KIND=",j,") :: a" @@ -233,8 +209,8 @@ WRITE(*,'(40(A,/))') & WRITE(*,*)" RETURN" WRITE(*,*)"END SUBROUTINE" ENDDO - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j WRITE(*,*)" IMPLICIT NONE" WRITE(*,'(A,I0,A)')" REAL(KIND= ",j,") :: a" @@ -267,12 +243,12 @@ WRITE(*,'(40(A,/))') & WRITE(*, "("" CALL r"", i2.2,""()"")") jr jd = 0 WRITE(*, "("" CALL d"", i2.2,""()"")") jd - DO i = 1, ii - j = ikind_numbers(i) + DO i = 1, num_ikinds + j = ikind(i) WRITE(*, "("" CALL i"", i2.2,""()"")") j ENDDO - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(*, "("" CALL r"", i2.2,""()"")") j ENDDO #ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE @@ -373,8 +349,8 @@ WRITE(*,'(40(A,/))') & ! H5Awrite_f ! WRITE(11,'(A)') " INTERFACE h5awrite_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j DO k = 1, 8 WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k) @@ -384,8 +360,8 @@ WRITE(*,'(40(A,/))') & ! H5Aread_f WRITE(11,'(A)') " INTERFACE h5aread_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j DO k = 1, 8 WRITE(11,'(A)') " MODULE PROCEDURE h5aread_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k) @@ -398,8 +374,8 @@ WRITE(*,'(40(A,/))') & ! ! H5Dwrite_f WRITE(11,'(A)') " INTERFACE h5dwrite_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j DO k = 1, 8 WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k) @@ -409,8 +385,8 @@ WRITE(*,'(40(A,/))') & ! H5Dread_f WRITE(11,'(A)') " INTERFACE h5dread_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j DO k = 1, 8 WRITE(11,'(A)') " MODULE PROCEDURE h5dread_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k) @@ -424,8 +400,8 @@ WRITE(*,'(40(A,/))') & ! ! H5Pset_fill_value_f WRITE(11,'(A)') " INTERFACE h5pset_fill_value_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE h5pset_fill_value_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -433,8 +409,8 @@ WRITE(*,'(40(A,/))') & ! H5Pget_fill_value_f WRITE(11,'(A)') " INTERFACE h5pget_fill_value_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE h5pget_fill_value_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -442,8 +418,8 @@ WRITE(*,'(40(A,/))') & ! H5Pset_f WRITE(11,'(A)') " INTERFACE h5pset_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE h5pset_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -451,8 +427,8 @@ WRITE(*,'(40(A,/))') & ! H5Pget_f WRITE(11,'(A)') " INTERFACE h5pget_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE h5pget_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -460,8 +436,8 @@ WRITE(*,'(40(A,/))') & ! H5Pregister_f WRITE(11,'(A)') " INTERFACE h5pregister_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE h5pregister_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -469,8 +445,8 @@ WRITE(*,'(40(A,/))') & ! H5Pinsert_f WRITE(11,'(A)') " INTERFACE h5pinsert_f" - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE h5pinsert_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -483,8 +459,8 @@ WRITE(*,'(40(A,/))') & !********************** ! ! H5Awrite_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k DO j = 1, 8 @@ -511,8 +487,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! ! H5Aread_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k DO j = 1, 8 ! DLL definitions for windows @@ -541,8 +517,8 @@ WRITE(*,'(40(A,/))') & !********************** ! ! h5dread_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k DO j = 1, 8 ! DLL definitions for windows @@ -582,8 +558,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! ! h5dwrite_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k DO j = 1, 8 ! DLL definitions for windows @@ -626,8 +602,8 @@ WRITE(*,'(40(A,/))') & !********************** ! ! H5Pset_fill_value_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)' @@ -648,8 +624,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! H5Pget_fill_value_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)' @@ -670,8 +646,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! H5Pset_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)' @@ -695,8 +671,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! H5Pget_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)' @@ -719,8 +695,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! H5Pregister_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)' @@ -744,8 +720,8 @@ WRITE(*,'(40(A,/))') & ENDDO ! H5Pinsert_f - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)' @@ -812,13 +788,13 @@ WRITE(*,'(40(A,/))') & ! Interfaces for validating REALs, INTEGERs, CHARACTERs, LOGICALs WRITE(11,'(A)') ' INTERFACE verify' - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE verify_real_kind_"//TRIM(ADJUSTL(chr2)) END DO - DO i = 1, ii - j = ikind_numbers(i) + DO i = 1, num_ikinds + j = ikind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE verify_integer_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -827,8 +803,8 @@ WRITE(*,'(40(A,/))') & WRITE(11,'(A)') " END INTERFACE" WRITE(11,'(A)') ' INTERFACE check_real_eq' - DO i = 1, ir - j = rkind_numbers(i) + DO i = 1, num_rkinds + j = rkind(i) WRITE(chr2,'(I2)') j WRITE(11,'(A)') " MODULE PROCEDURE real_eq_kind_"//TRIM(ADJUSTL(chr2)) END DO @@ -839,8 +815,8 @@ WRITE(*,'(40(A,/))') & ! *************************** ! VALIDATE INTEGERS ! *************************** - DO i = 1, ii - k = ikind_numbers(i) + DO i = 1, num_ikinds + k = ikind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)' @@ -863,8 +839,8 @@ WRITE(*,'(40(A,/))') & ! *************************** ! VALIDATE REALS ! *************************** - DO i = 1, ir - k = rkind_numbers(i) + DO i = 1, num_rkinds + k = rkind(i) WRITE(chr2,'(I2)') k ! DLL definitions for windows WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)' diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index 16be9d1..2b98af2 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -508,6 +508,11 @@ FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@ FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@ FSEARCH_DIRS = @FSEARCH_DIRS@ GREP = @GREP@ +H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@ +H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@ +H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@ +H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@ +H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@ H5_CFLAGS = @H5_CFLAGS@ H5_CPPFLAGS = @H5_CPPFLAGS@ H5_CXXFLAGS = @H5_CXXFLAGS@ |