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-28 22:21:05 (GMT) |
commit | 449a06e92fe64a214ad99280a02568cd045806f8 (patch) | |
tree | 96101941d1f5f2a1a38d5722bd4c309187e53fbe | |
parent | c9c7c13d9459de6bb9f35f60a6efe8af8ae4e46c (diff) | |
download | hdf5-449a06e92fe64a214ad99280a02568cd045806f8.zip hdf5-449a06e92fe64a214ad99280a02568cd045806f8.tar.gz hdf5-449a06e92fe64a214ad99280a02568cd045806f8.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
-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 |