summaryrefslogtreecommitdiffstats
path: root/fortran/src
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-08-12 18:23:03 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-08-12 18:23:03 (GMT)
commit91ec9431232f7b8c7d298043f34f1d43aa70a41b (patch)
treed6b11f3ad70914853202f06120bd95c4cc5075ea /fortran/src
parent48c429d4a39c2257b33567f15639a2d239876e65 (diff)
downloadhdf5-91ec9431232f7b8c7d298043f34f1d43aa70a41b.zip
hdf5-91ec9431232f7b8c7d298043f34f1d43aa70a41b.tar.gz
hdf5-91ec9431232f7b8c7d298043f34f1d43aa70a41b.tar.bz2
[svn-r27499] Fixed FLOAT_128 H5T type detection.
tested: jam
Diffstat (limited to 'fortran/src')
-rw-r--r--fortran/src/H5_ff.F9015
1 files changed, 8 insertions, 7 deletions
diff --git a/fortran/src/H5_ff.F90 b/fortran/src/H5_ff.F90
index a95c284..b5b2c93 100644
--- a/fortran/src/H5_ff.F90
+++ b/fortran/src/H5_ff.F90
@@ -377,7 +377,7 @@ CONTAINS
INTEGER, INTENT(IN) :: ikind
INTEGER, INTENT(IN) :: flag
#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
- Fortran_INTEGER_16=SELECTED_INT_KIND(15)
+ Fortran_INTEGER_16=SELECTED_INT_KIND(36) !should map to INTEGER*16 on most modern processors
#endif
@@ -401,18 +401,19 @@ CONTAINS
h5_type = H5T_NATIVE_REAL_C_FLOAT
ELSE IF(ikind.EQ.KIND(1.0_C_DOUBLE))THEN
h5_type = H5T_NATIVE_REAL_C_DOUBLE
-#if H5_PAC_FC_MAX_REAL_PRECISION > 28
-#if H5_HAVE_FLOAT128 == 1
- ELSE IF(ikind.EQ.KIND(1.0_C_LONG_DOUBLE))THEN
- h5_type = H5T_NATIVE_FLOAT_128
-#endif
-#endif
#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
ELSE IF(ikind.EQ.KIND(1.0_C_LONG_DOUBLE))THEN
h5_type = H5T_NATIVE_REAL_C_LONG_DOUBLE
#endif
+#if H5_PAC_FC_MAX_REAL_PRECISION > 28
+#if H5_HAVE_FLOAT128 == 1
+ ELSE
+ h5_type = H5T_NATIVE_FLOAT_128
+#endif
+#else
ELSE
h5_type = -1
+#endif
ENDIF
ENDIF