Daniel Celis Garza and Damian Rouson have developed a runtime library
and include file for the TS 29113 and F2018 C descriptors.
https://github.com/sourceryinstitute/ISO_Fortran_binding

The ordering of types is different to the current 'bt' enum in
libgfortran.h. This patch interchanges BT_DERIVED and BT_CHARACTER to
fix this.

Regtests on FC28/x86_64. OK for trunk?

Cheers

Paul

2018-07-31  Paul Thomas  <pa...@gcc.gnu.org>

    * gcc/fortran/libgfortran.h : In bt enum interchange BT_DERIVED
    and BT_CHARACTER for CFI descriptor compatibility(TS 29113).
Index: gcc/fortran/libgfortran.h
===================================================================
*** gcc/fortran/libgfortran.h	(revision 262444)
--- gcc/fortran/libgfortran.h	(working copy)
*************** typedef enum
*** 171,177 ****
     used in the run-time library for IO.  */
  typedef enum
  { BT_UNKNOWN = 0, BT_INTEGER, BT_LOGICAL, BT_REAL, BT_COMPLEX,
!   BT_DERIVED, BT_CHARACTER, BT_CLASS, BT_PROCEDURE, BT_HOLLERITH, BT_VOID,
    BT_ASSUMED, BT_UNION
  }
  bt;
--- 171,177 ----
     used in the run-time library for IO.  */
  typedef enum
  { BT_UNKNOWN = 0, BT_INTEGER, BT_LOGICAL, BT_REAL, BT_COMPLEX,
!   BT_CHARACTER, BT_DERIVED, BT_CLASS, BT_PROCEDURE, BT_HOLLERITH, BT_VOID,
    BT_ASSUMED, BT_UNION
  }
  bt;

Reply via email to