On 10.09.21 17:39, Andreas Schwab wrote:
This misses the m68k extended real format.
* ISO_Fortran_binding.h (CFI_type_long_double)
(CFI_type_long_double_Complex) [LDBL_MANT_DIG == 64 &&
LDBL_MIN_EXP == -16382 && LDBL_MAX_EXP == 16384]: Define.
LGTM – thanks!
Tobias
---
libgfortran/ISO_Fortran_binding.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libgfortran/ISO_Fortran_binding.h
b/libgfortran/ISO_Fortran_binding.h
index 5335ea471c7..9c42464affa 100644
--- a/libgfortran/ISO_Fortran_binding.h
+++ b/libgfortran/ISO_Fortran_binding.h
@@ -233,6 +233,13 @@ extern int CFI_setpointer (CFI_cdesc_t *, CFI_cdesc_t *,
const CFI_index_t []);
#define CFI_type_long_double (CFI_type_Real + (10 << CFI_type_kind_shift))
#define CFI_type_long_double_Complex (CFI_type_Complex + (10 <<
CFI_type_kind_shift))
+/* This is the 96-bit encoding on m68k; Fortran assigns it kind 10. */
+#elif (LDBL_MANT_DIG == 64 \
+ && LDBL_MIN_EXP == -16382 \
+ && LDBL_MAX_EXP == 16384)
+#define CFI_type_long_double (CFI_type_Real + (10 << CFI_type_kind_shift))
+#define CFI_type_long_double_Complex (CFI_type_Complex + (10 <<
CFI_type_kind_shift))
+
/* This is the IEEE 128-bit encoding, same as float128. */
#elif (LDBL_MANT_DIG == 113 \
&& LDBL_MIN_EXP == -16381 \
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht
München, HRB 106955