To: J3 J3/18-210 From: Bill Long & Daniel Chen Subject: Ballot Comment GB056 Date: 2018-June-12 Ballot Comment -------------- In their DIS Ballot for draft N2146 of Fortran 2018, the GB comment 056 reads: "The term "simply contiguous dummy variable" is undefined. Moreover as described in NOTE 18.22 it is inconsistent with the current standard." with the suggested edits: In paragraph 5 change "simply contiguous dummy argument" to "dummy argument which has the CONTIGUOUS attribute, or is an assumed-length CHARACTER array and not a pointer, assumed-shape, or assumed-rank,". Make the same change in paragraph 6. Delete paragraph 7. Delete NOTE 18.22 Add a new NOTE 18.22: "If an interoperable C procedure whose Fortran interface has a dummy argument which has the CONTIGUOUS attribute, or is an assumed-length CHARACTER array and not a pointer, assumed-shape, or assumed-rank, is invoked from C, the invoking routine is responsible for the contents of the C descriptor which therefore might not describe a contiguous data object." Discussion ---------- Subgroup in principle agrees with the comment. We also modified the edit as: 1. "simply contiguous dummy argument" can be replaced by "dummy argument that is simply contiguous" so both terms are defined. 2. An interoperable assumed-length CHARACTER array cannot be allocatable or pointer; An interoperable CHARACTER array that is allocatable or pointer must have deferred length, so we removed the "a pointer, ". Edit to N2146 ------------- Page 490, 18.3.7 Interoperability of procedures and procedure interfaces, para5, Change "simply contiguous dummy argument" to "dummy argument that is simply contiguous". Make the same change in paragraph 6. Delete paragraph 7. Delete NOTE 18.22 Add a new NOTE 18.22: "If an interoperable C procedure whose Fortran interface has a dummy argument which has the CONTIGUOUS attribute, or is an assumed-length CHARACTER array and not assumed-shape, or assumed-rank, is invoked from C, the invoking routine is responsible for the contents of the C descriptor which therefore might not describe a contiguous data object."