[gcc r12-3470] libgfortran: Handle m68k extended real format in ISO_Fortran_binding.h

Andreas Schwab schwab@gcc.gnu.org
Mon Sep 13 08:04:52 GMT 2021


https://gcc.gnu.org/g:fc4a29c0781186269dc5f668e76ecea82030dde3

commit r12-3470-gfc4a29c0781186269dc5f668e76ecea82030dde3
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Fri Sep 10 17:33:09 2021 +0200

    libgfortran: Handle m68k extended real format in ISO_Fortran_binding.h
    
    libgfortran/
            * 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.

Diff:
---
 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 \


More information about the Gcc-cvs mailing list