J3/08-191 To: J3 Subject: Interp F03/0075 From: Van Snyder Date: 2008 May 15 References: 04-007, 08-006Ar1 This is a whack at interp F03/0075. The outcome proposed here is the same as in the original submission. The change proposed here is different from the change originally proposed. The change originally proposed would not work because it was in constraint, which would have required the Fortran processor to parse and understand the C function with which the reference is expected to interoperate. ======================================================================== NUMBER: F03/0075 TITLE: C interop of derived types with array components KEYWORDS: Interoperability, dummy procedures DEFECT TYPE: 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: No. According to the 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 oversight. An edit is provided to correct this. EDITS: In the first sentence of the first paragraph after NOTE 15.12 in subclause 15.2.3 [04-007:398:11-12], replace "have types and type parameters that are interoperable with the types of the corresponding components of the struct type" with "would interoperate with corresponding components of the C struct type as described in 15.2.4 and 15.2.5 if the components were variables". SUBMITTED BY: Aleksandar Donev HISTORY: 06-106 m175 F03/0075 Submitted 08-191 m184 Revised answer