summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2024-03-02 02:29:45 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2024-03-02 22:07:41 (GMT)
commit10c1c557359837d97d21e966ed8286382da0d122 (patch)
tree8644081c36c679c2b72c1d9f365a74f7da911d92 /src
parenta209e23d79c41b0e3d78bb8394d1b2f704d7db77 (diff)
downloadhdf5-10c1c557359837d97d21e966ed8286382da0d122.zip
hdf5-10c1c557359837d97d21e966ed8286382da0d122.tar.gz
hdf5-10c1c557359837d97d21e966ed8286382da0d122.tar.bz2
Work around issues with MacOS 13
Add CMake status message about _Float16 test-compile program
Diffstat (limited to 'src')
-rw-r--r--src/H5T.c392
-rw-r--r--src/H5Tconv.c2
-rw-r--r--src/H5Tpkg.h10
3 files changed, 209 insertions, 195 deletions
diff --git a/src/H5T.c b/src/H5T.c
index a340211..ab284b6 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -398,105 +398,105 @@ H5T_order_t H5T_native_order_g = H5T_ORDER_ERROR;
* If more of these are added, the new ones must be added to the list of
* types to reset in H5T_term_package().
*/
-hid_t H5T_IEEE_F16BE_g = FAIL;
-hid_t H5T_IEEE_F16LE_g = FAIL;
-hid_t H5T_IEEE_F32BE_g = FAIL;
-hid_t H5T_IEEE_F32LE_g = FAIL;
-hid_t H5T_IEEE_F64BE_g = FAIL;
-hid_t H5T_IEEE_F64LE_g = FAIL;
-
-hid_t H5T_VAX_F32_g = FAIL;
-hid_t H5T_VAX_F64_g = FAIL;
-
-hid_t H5T_STD_I8BE_g = FAIL;
-hid_t H5T_STD_I8LE_g = FAIL;
-hid_t H5T_STD_I16BE_g = FAIL;
-hid_t H5T_STD_I16LE_g = FAIL;
-hid_t H5T_STD_I32BE_g = FAIL;
-hid_t H5T_STD_I32LE_g = FAIL;
-hid_t H5T_STD_I64BE_g = FAIL;
-hid_t H5T_STD_I64LE_g = FAIL;
-hid_t H5T_STD_U8BE_g = FAIL;
-hid_t H5T_STD_U8LE_g = FAIL;
-hid_t H5T_STD_U16BE_g = FAIL;
-hid_t H5T_STD_U16LE_g = FAIL;
-hid_t H5T_STD_U32BE_g = FAIL;
-hid_t H5T_STD_U32LE_g = FAIL;
-hid_t H5T_STD_U64BE_g = FAIL;
-hid_t H5T_STD_U64LE_g = FAIL;
-hid_t H5T_STD_B8BE_g = FAIL;
-hid_t H5T_STD_B8LE_g = FAIL;
-hid_t H5T_STD_B16BE_g = FAIL;
-hid_t H5T_STD_B16LE_g = FAIL;
-hid_t H5T_STD_B32BE_g = FAIL;
-hid_t H5T_STD_B32LE_g = FAIL;
-hid_t H5T_STD_B64BE_g = FAIL;
-hid_t H5T_STD_B64LE_g = FAIL;
-hid_t H5T_STD_REF_OBJ_g = FAIL;
-hid_t H5T_STD_REF_DSETREG_g = FAIL;
-hid_t H5T_STD_REF_g = FAIL;
-
-hid_t H5T_UNIX_D32BE_g = FAIL;
-hid_t H5T_UNIX_D32LE_g = FAIL;
-hid_t H5T_UNIX_D64BE_g = FAIL;
-hid_t H5T_UNIX_D64LE_g = FAIL;
-
-hid_t H5T_C_S1_g = FAIL;
-
-hid_t H5T_FORTRAN_S1_g = FAIL;
-
-hid_t H5T_NATIVE_SCHAR_g = FAIL;
-hid_t H5T_NATIVE_UCHAR_g = FAIL;
-hid_t H5T_NATIVE_SHORT_g = FAIL;
-hid_t H5T_NATIVE_USHORT_g = FAIL;
-hid_t H5T_NATIVE_INT_g = FAIL;
-hid_t H5T_NATIVE_UINT_g = FAIL;
-hid_t H5T_NATIVE_LONG_g = FAIL;
-hid_t H5T_NATIVE_ULONG_g = FAIL;
-hid_t H5T_NATIVE_LLONG_g = FAIL;
-hid_t H5T_NATIVE_ULLONG_g = FAIL;
-hid_t H5T_NATIVE_FLOAT16_g = FAIL;
-hid_t H5T_NATIVE_FLOAT_g = FAIL;
-hid_t H5T_NATIVE_DOUBLE_g = FAIL;
-hid_t H5T_NATIVE_LDOUBLE_g = FAIL;
-hid_t H5T_NATIVE_B8_g = FAIL;
-hid_t H5T_NATIVE_B16_g = FAIL;
-hid_t H5T_NATIVE_B32_g = FAIL;
-hid_t H5T_NATIVE_B64_g = FAIL;
-hid_t H5T_NATIVE_OPAQUE_g = FAIL;
-hid_t H5T_NATIVE_HADDR_g = FAIL;
-hid_t H5T_NATIVE_HSIZE_g = FAIL;
-hid_t H5T_NATIVE_HSSIZE_g = FAIL;
-hid_t H5T_NATIVE_HERR_g = FAIL;
-hid_t H5T_NATIVE_HBOOL_g = FAIL;
-
-hid_t H5T_NATIVE_INT8_g = FAIL;
-hid_t H5T_NATIVE_UINT8_g = FAIL;
-hid_t H5T_NATIVE_INT_LEAST8_g = FAIL;
-hid_t H5T_NATIVE_UINT_LEAST8_g = FAIL;
-hid_t H5T_NATIVE_INT_FAST8_g = FAIL;
-hid_t H5T_NATIVE_UINT_FAST8_g = FAIL;
-
-hid_t H5T_NATIVE_INT16_g = FAIL;
-hid_t H5T_NATIVE_UINT16_g = FAIL;
-hid_t H5T_NATIVE_INT_LEAST16_g = FAIL;
-hid_t H5T_NATIVE_UINT_LEAST16_g = FAIL;
-hid_t H5T_NATIVE_INT_FAST16_g = FAIL;
-hid_t H5T_NATIVE_UINT_FAST16_g = FAIL;
-
-hid_t H5T_NATIVE_INT32_g = FAIL;
-hid_t H5T_NATIVE_UINT32_g = FAIL;
-hid_t H5T_NATIVE_INT_LEAST32_g = FAIL;
-hid_t H5T_NATIVE_UINT_LEAST32_g = FAIL;
-hid_t H5T_NATIVE_INT_FAST32_g = FAIL;
-hid_t H5T_NATIVE_UINT_FAST32_g = FAIL;
-
-hid_t H5T_NATIVE_INT64_g = FAIL;
-hid_t H5T_NATIVE_UINT64_g = FAIL;
-hid_t H5T_NATIVE_INT_LEAST64_g = FAIL;
-hid_t H5T_NATIVE_UINT_LEAST64_g = FAIL;
-hid_t H5T_NATIVE_INT_FAST64_g = FAIL;
-hid_t H5T_NATIVE_UINT_FAST64_g = FAIL;
+hid_t H5T_IEEE_F16BE_g = H5I_INVALID_HID;
+hid_t H5T_IEEE_F16LE_g = H5I_INVALID_HID;
+hid_t H5T_IEEE_F32BE_g = H5I_INVALID_HID;
+hid_t H5T_IEEE_F32LE_g = H5I_INVALID_HID;
+hid_t H5T_IEEE_F64BE_g = H5I_INVALID_HID;
+hid_t H5T_IEEE_F64LE_g = H5I_INVALID_HID;
+
+hid_t H5T_VAX_F32_g = H5I_INVALID_HID;
+hid_t H5T_VAX_F64_g = H5I_INVALID_HID;
+
+hid_t H5T_STD_I8BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I8LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I16BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I16LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I32BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I32LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I64BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_I64LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U8BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U8LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U16BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U16LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U32BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U32LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U64BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_U64LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B8BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B8LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B16BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B16LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B32BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B32LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B64BE_g = H5I_INVALID_HID;
+hid_t H5T_STD_B64LE_g = H5I_INVALID_HID;
+hid_t H5T_STD_REF_OBJ_g = H5I_INVALID_HID;
+hid_t H5T_STD_REF_DSETREG_g = H5I_INVALID_HID;
+hid_t H5T_STD_REF_g = H5I_INVALID_HID;
+
+hid_t H5T_UNIX_D32BE_g = H5I_INVALID_HID;
+hid_t H5T_UNIX_D32LE_g = H5I_INVALID_HID;
+hid_t H5T_UNIX_D64BE_g = H5I_INVALID_HID;
+hid_t H5T_UNIX_D64LE_g = H5I_INVALID_HID;
+
+hid_t H5T_C_S1_g = H5I_INVALID_HID;
+
+hid_t H5T_FORTRAN_S1_g = H5I_INVALID_HID;
+
+hid_t H5T_NATIVE_SCHAR_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UCHAR_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_SHORT_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_USHORT_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_LONG_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_ULONG_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_LLONG_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_ULLONG_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_FLOAT16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_FLOAT_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_DOUBLE_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_LDOUBLE_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_B8_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_B16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_B32_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_B64_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_OPAQUE_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_HADDR_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_HSIZE_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_HSSIZE_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_HERR_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_HBOOL_g = H5I_INVALID_HID;
+
+hid_t H5T_NATIVE_INT8_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT8_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_LEAST8_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_LEAST8_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_FAST8_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_FAST8_g = H5I_INVALID_HID;
+
+hid_t H5T_NATIVE_INT16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_LEAST16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_LEAST16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_FAST16_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_FAST16_g = H5I_INVALID_HID;
+
+hid_t H5T_NATIVE_INT32_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT32_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_LEAST32_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_LEAST32_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_FAST32_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_FAST32_g = H5I_INVALID_HID;
+
+hid_t H5T_NATIVE_INT64_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT64_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_LEAST64_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_LEAST64_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_INT_FAST64_g = H5I_INVALID_HID;
+hid_t H5T_NATIVE_UINT_FAST64_g = H5I_INVALID_HID;
/*
* Alignment constraints for HDF5 types. Accessing objects of these
@@ -1165,9 +1165,11 @@ H5T_init(void)
H5T__register_int(H5T_PERS_HARD, "flt_flt16", native_float, native_float16, H5T__conv_float__Float16);
status |= H5T__register_int(H5T_PERS_HARD, "dbl_flt16", native_double, native_float16,
H5T__conv_double__Float16);
+#ifdef H5T_CONV_INTERNAL_LDOUBLE_FLOAT16
status |= H5T__register_int(H5T_PERS_HARD, "ldbl_flt16", native_ldouble, native_float16,
H5T__conv_ldouble__Float16);
#endif
+#endif
/* from long long */
status |=
@@ -1733,102 +1735,102 @@ H5T_top_term_package(void)
/* Reset all the datatype IDs */
if (H5T_IEEE_F32BE_g > 0) {
- H5T_IEEE_F16BE_g = FAIL;
- H5T_IEEE_F16LE_g = FAIL;
- H5T_IEEE_F32BE_g = FAIL;
- H5T_IEEE_F32LE_g = FAIL;
- H5T_IEEE_F64BE_g = FAIL;
- H5T_IEEE_F64LE_g = FAIL;
-
- H5T_STD_I8BE_g = FAIL;
- H5T_STD_I8LE_g = FAIL;
- H5T_STD_I16BE_g = FAIL;
- H5T_STD_I16LE_g = FAIL;
- H5T_STD_I32BE_g = FAIL;
- H5T_STD_I32LE_g = FAIL;
- H5T_STD_I64BE_g = FAIL;
- H5T_STD_I64LE_g = FAIL;
- H5T_STD_U8BE_g = FAIL;
- H5T_STD_U8LE_g = FAIL;
- H5T_STD_U16BE_g = FAIL;
- H5T_STD_U16LE_g = FAIL;
- H5T_STD_U32BE_g = FAIL;
- H5T_STD_U32LE_g = FAIL;
- H5T_STD_U64BE_g = FAIL;
- H5T_STD_U64LE_g = FAIL;
- H5T_STD_B8BE_g = FAIL;
- H5T_STD_B8LE_g = FAIL;
- H5T_STD_B16BE_g = FAIL;
- H5T_STD_B16LE_g = FAIL;
- H5T_STD_B32BE_g = FAIL;
- H5T_STD_B32LE_g = FAIL;
- H5T_STD_B64BE_g = FAIL;
- H5T_STD_B64LE_g = FAIL;
- H5T_STD_REF_OBJ_g = FAIL;
- H5T_STD_REF_DSETREG_g = FAIL;
- H5T_STD_REF_g = FAIL;
-
- H5T_UNIX_D32BE_g = FAIL;
- H5T_UNIX_D32LE_g = FAIL;
- H5T_UNIX_D64BE_g = FAIL;
- H5T_UNIX_D64LE_g = FAIL;
-
- H5T_C_S1_g = FAIL;
-
- H5T_FORTRAN_S1_g = FAIL;
-
- H5T_NATIVE_SCHAR_g = FAIL;
- H5T_NATIVE_UCHAR_g = FAIL;
- H5T_NATIVE_SHORT_g = FAIL;
- H5T_NATIVE_USHORT_g = FAIL;
- H5T_NATIVE_INT_g = FAIL;
- H5T_NATIVE_UINT_g = FAIL;
- H5T_NATIVE_LONG_g = FAIL;
- H5T_NATIVE_ULONG_g = FAIL;
- H5T_NATIVE_LLONG_g = FAIL;
- H5T_NATIVE_ULLONG_g = FAIL;
- H5T_NATIVE_FLOAT16_g = FAIL;
- H5T_NATIVE_FLOAT_g = FAIL;
- H5T_NATIVE_DOUBLE_g = FAIL;
- H5T_NATIVE_LDOUBLE_g = FAIL;
- H5T_NATIVE_B8_g = FAIL;
- H5T_NATIVE_B16_g = FAIL;
- H5T_NATIVE_B32_g = FAIL;
- H5T_NATIVE_B64_g = FAIL;
- H5T_NATIVE_OPAQUE_g = FAIL;
- H5T_NATIVE_HADDR_g = FAIL;
- H5T_NATIVE_HSIZE_g = FAIL;
- H5T_NATIVE_HSSIZE_g = FAIL;
- H5T_NATIVE_HERR_g = FAIL;
- H5T_NATIVE_HBOOL_g = FAIL;
-
- H5T_NATIVE_INT8_g = FAIL;
- H5T_NATIVE_UINT8_g = FAIL;
- H5T_NATIVE_INT_LEAST8_g = FAIL;
- H5T_NATIVE_UINT_LEAST8_g = FAIL;
- H5T_NATIVE_INT_FAST8_g = FAIL;
- H5T_NATIVE_UINT_FAST8_g = FAIL;
-
- H5T_NATIVE_INT16_g = FAIL;
- H5T_NATIVE_UINT16_g = FAIL;
- H5T_NATIVE_INT_LEAST16_g = FAIL;
- H5T_NATIVE_UINT_LEAST16_g = FAIL;
- H5T_NATIVE_INT_FAST16_g = FAIL;
- H5T_NATIVE_UINT_FAST16_g = FAIL;
-
- H5T_NATIVE_INT32_g = FAIL;
- H5T_NATIVE_UINT32_g = FAIL;
- H5T_NATIVE_INT_LEAST32_g = FAIL;
- H5T_NATIVE_UINT_LEAST32_g = FAIL;
- H5T_NATIVE_INT_FAST32_g = FAIL;
- H5T_NATIVE_UINT_FAST32_g = FAIL;
-
- H5T_NATIVE_INT64_g = FAIL;
- H5T_NATIVE_UINT64_g = FAIL;
- H5T_NATIVE_INT_LEAST64_g = FAIL;
- H5T_NATIVE_UINT_LEAST64_g = FAIL;
- H5T_NATIVE_INT_FAST64_g = FAIL;
- H5T_NATIVE_UINT_FAST64_g = FAIL;
+ H5T_IEEE_F16BE_g = H5I_INVALID_HID;
+ H5T_IEEE_F16LE_g = H5I_INVALID_HID;
+ H5T_IEEE_F32BE_g = H5I_INVALID_HID;
+ H5T_IEEE_F32LE_g = H5I_INVALID_HID;
+ H5T_IEEE_F64BE_g = H5I_INVALID_HID;
+ H5T_IEEE_F64LE_g = H5I_INVALID_HID;
+
+ H5T_STD_I8BE_g = H5I_INVALID_HID;
+ H5T_STD_I8LE_g = H5I_INVALID_HID;
+ H5T_STD_I16BE_g = H5I_INVALID_HID;
+ H5T_STD_I16LE_g = H5I_INVALID_HID;
+ H5T_STD_I32BE_g = H5I_INVALID_HID;
+ H5T_STD_I32LE_g = H5I_INVALID_HID;
+ H5T_STD_I64BE_g = H5I_INVALID_HID;
+ H5T_STD_I64LE_g = H5I_INVALID_HID;
+ H5T_STD_U8BE_g = H5I_INVALID_HID;
+ H5T_STD_U8LE_g = H5I_INVALID_HID;
+ H5T_STD_U16BE_g = H5I_INVALID_HID;
+ H5T_STD_U16LE_g = H5I_INVALID_HID;
+ H5T_STD_U32BE_g = H5I_INVALID_HID;
+ H5T_STD_U32LE_g = H5I_INVALID_HID;
+ H5T_STD_U64BE_g = H5I_INVALID_HID;
+ H5T_STD_U64LE_g = H5I_INVALID_HID;
+ H5T_STD_B8BE_g = H5I_INVALID_HID;
+ H5T_STD_B8LE_g = H5I_INVALID_HID;
+ H5T_STD_B16BE_g = H5I_INVALID_HID;
+ H5T_STD_B16LE_g = H5I_INVALID_HID;
+ H5T_STD_B32BE_g = H5I_INVALID_HID;
+ H5T_STD_B32LE_g = H5I_INVALID_HID;
+ H5T_STD_B64BE_g = H5I_INVALID_HID;
+ H5T_STD_B64LE_g = H5I_INVALID_HID;
+ H5T_STD_REF_OBJ_g = H5I_INVALID_HID;
+ H5T_STD_REF_DSETREG_g = H5I_INVALID_HID;
+ H5T_STD_REF_g = H5I_INVALID_HID;
+
+ H5T_UNIX_D32BE_g = H5I_INVALID_HID;
+ H5T_UNIX_D32LE_g = H5I_INVALID_HID;
+ H5T_UNIX_D64BE_g = H5I_INVALID_HID;
+ H5T_UNIX_D64LE_g = H5I_INVALID_HID;
+
+ H5T_C_S1_g = H5I_INVALID_HID;
+
+ H5T_FORTRAN_S1_g = H5I_INVALID_HID;
+
+ H5T_NATIVE_SCHAR_g = H5I_INVALID_HID;
+ H5T_NATIVE_UCHAR_g = H5I_INVALID_HID;
+ H5T_NATIVE_SHORT_g = H5I_INVALID_HID;
+ H5T_NATIVE_USHORT_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_g = H5I_INVALID_HID;
+ H5T_NATIVE_LONG_g = H5I_INVALID_HID;
+ H5T_NATIVE_ULONG_g = H5I_INVALID_HID;
+ H5T_NATIVE_LLONG_g = H5I_INVALID_HID;
+ H5T_NATIVE_ULLONG_g = H5I_INVALID_HID;
+ H5T_NATIVE_FLOAT16_g = H5I_INVALID_HID;
+ H5T_NATIVE_FLOAT_g = H5I_INVALID_HID;
+ H5T_NATIVE_DOUBLE_g = H5I_INVALID_HID;
+ H5T_NATIVE_LDOUBLE_g = H5I_INVALID_HID;
+ H5T_NATIVE_B8_g = H5I_INVALID_HID;
+ H5T_NATIVE_B16_g = H5I_INVALID_HID;
+ H5T_NATIVE_B32_g = H5I_INVALID_HID;
+ H5T_NATIVE_B64_g = H5I_INVALID_HID;
+ H5T_NATIVE_OPAQUE_g = H5I_INVALID_HID;
+ H5T_NATIVE_HADDR_g = H5I_INVALID_HID;
+ H5T_NATIVE_HSIZE_g = H5I_INVALID_HID;
+ H5T_NATIVE_HSSIZE_g = H5I_INVALID_HID;
+ H5T_NATIVE_HERR_g = H5I_INVALID_HID;
+ H5T_NATIVE_HBOOL_g = H5I_INVALID_HID;
+
+ H5T_NATIVE_INT8_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT8_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_LEAST8_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_LEAST8_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_FAST8_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_FAST8_g = H5I_INVALID_HID;
+
+ H5T_NATIVE_INT16_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT16_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_LEAST16_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_LEAST16_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_FAST16_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_FAST16_g = H5I_INVALID_HID;
+
+ H5T_NATIVE_INT32_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT32_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_LEAST32_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_LEAST32_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_FAST32_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_FAST32_g = H5I_INVALID_HID;
+
+ H5T_NATIVE_INT64_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT64_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_LEAST64_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_LEAST64_g = H5I_INVALID_HID;
+ H5T_NATIVE_INT_FAST64_g = H5I_INVALID_HID;
+ H5T_NATIVE_UINT_FAST64_g = H5I_INVALID_HID;
n++;
} /* end if */
diff --git a/src/H5Tconv.c b/src/H5Tconv.c
index d1cc307..a6629b5 100644
--- a/src/H5Tconv.c
+++ b/src/H5Tconv.c
@@ -8085,6 +8085,7 @@ H5T__conv_double__Float16(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t
H5_GCC_CLANG_DIAG_ON("pedantic")
}
+#ifdef H5T_CONV_INTERNAL_LDOUBLE_FLOAT16
herr_t
H5T__conv_ldouble__Float16(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride,
size_t H5_ATTR_UNUSED bkg_stride, void *buf, void H5_ATTR_UNUSED *bkg)
@@ -8094,6 +8095,7 @@ H5T__conv_ldouble__Float16(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_
H5T_CONV_Ff(LDOUBLE, FLOAT16, long double, H5__Float16, -FLT16_MAX, FLT16_MAX);
H5_GCC_CLANG_DIAG_ON("pedantic")
}
+#endif
herr_t
H5T__conv__Float16_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts, size_t buf_stride,
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index 8f063b9..9cece45 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -143,6 +143,14 @@
#define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 0
#endif
+/* Define an internal macro for converting long double to _Float16. Mac OS 13
+ * gives incorrect conversions that appear to be resolved in Mac OS 14. */
+#ifdef H5_HAVE__FLOAT16
+#if (H5_WANT_DATA_ACCURACY && defined(H5_LDOUBLE_TO_FLOAT16_CORRECT)) || (!H5_WANT_DATA_ACCURACY)
+#define H5T_CONV_INTERNAL_LDOUBLE_FLOAT16 1
+#endif
+#endif
+
/* Statistics about a conversion function */
struct H5T_stats_t {
unsigned ncalls; /*num calls to conversion function */
@@ -861,8 +869,10 @@ H5_DLL herr_t H5T__conv_float__Float16(hid_t src_id, hid_t dst_id, H5T_cdata_t *
size_t buf_stride, size_t bkg_stride, void *buf, void *bkg);
H5_DLL herr_t H5T__conv_double__Float16(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
size_t buf_stride, size_t bkg_stride, void *buf, void *bkg);
+#ifdef H5T_CONV_INTERNAL_LDOUBLE_FLOAT16
H5_DLL herr_t H5T__conv_ldouble__Float16(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
size_t buf_stride, size_t bkg_stride, void *buf, void *bkg);
+#endif
H5_DLL herr_t H5T__conv__Float16_schar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
size_t buf_stride, size_t bkg_stride, void *buf, void *bkg);
H5_DLL herr_t H5T__conv__Float16_uchar(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,