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/src/H5_f.c | |
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/src/H5_f.c')
-rw-r--r-- | fortran/src/H5_f.c | 9 |
1 files changed, 7 insertions, 2 deletions
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 /* |