J3/06-106 Date: December 5, 2005 To: J3 From: Aleksandar Donev Subject: C interop NUMBER: F03/0075 TITLE: C interop of derived types with array components KEYWORDS: Interoperability, dummy procedures DEFECT TYPE: CLARIFICATION/ERRATUM STATUS: J3 consideration in progress QUESTION: Is the following C struct: typedef struct { float x[5]; } array interoperable with this Fortran type: type, bind(c) :: array real(c_float) :: x(3) end type ANSWER: The intended answer is no. According to the current words in 15.2.3, the answer is yes, since only interoperability of the types of the C and Fortran components is required. This is however an accidental omission and array components have not been integrated correctly. EDITS: Append to the end of C1505 a new sentence: "If the component is an array, the corresponding C component shall be an array and the shapes of the two arrays shall be as prescribed in 15.2.5." SUBMITTED BY: Aleksandar Donev HISTORY: J3/06-106 at meeting 175