diff options
author | M. Scot Breitenfeld <brtnfld@hdfgroup.org> | 2020-02-27 18:19:29 (GMT) |
---|---|---|
committer | M. Scot Breitenfeld <brtnfld@hdfgroup.org> | 2020-02-27 18:19:29 (GMT) |
commit | dde7e73d9fe8cc3b849767790aa9b13ee2d600cd (patch) | |
tree | 0357ac1043f9a8de008a8e04b26b53eef5422ca7 /m4/aclocal_fc.f90 | |
parent | 9a0e84fb4779f40719aecc3330bffb6282728fc5 (diff) | |
download | hdf5-dde7e73d9fe8cc3b849767790aa9b13ee2d600cd.zip hdf5-dde7e73d9fe8cc3b849767790aa9b13ee2d600cd.tar.gz hdf5-dde7e73d9fe8cc3b849767790aa9b13ee2d600cd.tar.bz2 |
Fixed issue building HDF5 with NAG Fortran 7.0.
Accounted for the additon of half precision floating-point with a KIND=16.
HDFFV-11033
Diffstat (limited to 'm4/aclocal_fc.f90')
-rw-r--r-- | m4/aclocal_fc.f90 | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/m4/aclocal_fc.f90 b/m4/aclocal_fc.f90 index 664a3c6..7e81a52 100644 --- a/m4/aclocal_fc.f90 +++ b/m4/aclocal_fc.f90 @@ -83,10 +83,11 @@ END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE !---- START ----- Determine the available KINDs for REALs and INTEGERs PROGRAM FC_AVAIL_KINDS IMPLICIT NONE - INTEGER :: ik, jk, k, max_decimal_prec - INTEGER :: num_rkinds = 1, num_ikinds = 1 + INTEGER :: ik, jk, k, kk, max_decimal_prec + INTEGER :: prev_rkind, num_rkinds = 1, num_ikinds = 1 INTEGER, DIMENSION(1:10) :: list_ikinds = -1 INTEGER, DIMENSION(1:10) :: list_rkinds = -1 + LOGICAL :: new_kind OPEN(8, FILE='pac_fconftest.out', FORM='formatted') @@ -113,14 +114,26 @@ PROGRAM FC_AVAIL_KINDS ! Find real KINDs list_rkinds(num_rkinds)=SELECTED_REAL_KIND(1) max_decimal_prec = 1 + prev_rkind=list_rkinds(num_rkinds) prec: DO ik = 2, 36 - exp: DO jk = 1, 17000 + exp: DO jk = 1, 700 k = SELECTED_REAL_KIND(ik,jk) IF(k.LT.0) EXIT exp - IF(k.GT.list_rkinds(num_rkinds))THEN - num_rkinds = num_rkinds + 1 - list_rkinds(num_rkinds) = k + IF(k.NE.prev_rkind)THEN + ! Check if we aleady have that kind + new_kind = .TRUE. + DO kk = 1, num_rkinds + IF(k.EQ.list_rkinds(kk))THEN + new_kind=.FALSE. + EXIT + ENDIF + ENDDO + IF(new_kind)THEN + num_rkinds = num_rkinds + 1 + list_rkinds(num_rkinds) = k + prev_rkind=list_rkinds(num_rkinds) + ENDIF ENDIF max_decimal_prec = ik ENDDO exp |