To: J3 From: /interop Subject: Response to 99-133 and 99-194 References: J3/99-156r1, J3/99-161r1 Comment 42:20-21 (Prohibition of proc-component-def-statements in derived types with the BIND(C) attribute. Resolution: Document 156r1 passed in Oxford added a J3 internal note which is a place holder for this issue to be resolved prior to completion of the standard. Comment 63:21-23 (Type aliases may be non-portable when resolving generic procedure references as more than one type-alias may map to the same type) Resolution: Subgroup notes that there may be problems with generic procedure resolution when using type aliases. However, Fortran itself may have these same problems. For example, one Fortran processor may assign three different kind-type parameters for three different integer values by means of the SELECTED_INT_KIND intrinsic, while another Fortran processor may return a single kind type parameter for the same three integer values. Subgroup plans no further action on this issue for type aliases. Comment 72:1-4 (should "assumed" read "assumed or deferred"?) Resolution: Paper 99-156r1 passed in Oxford made this edit. Comment 72:19-22 (dummy arguments with the VALUE attribute, actual arguments with the VOLATILE attribute in pending I/O sequences) Resolution: Edits in paper 99-156r1 passed at meeting 149 contains edits to address this issue. Comment 84:26 (Allow the VALUE attribute for objects other than those with the BIND(C) attribute). Resolution: Subgroup proposes an edit to insert a J3 internal note which states to revisit this decision if time permits in processing the draft. See edit at end of this paper. Comment 92:34 (index entry for VALUE) Resolution: VALUE was added to the index as a result of paper 99-161r1 passed in Oxford. Comment 267:20-29 (Value attribute needed in list) Resolution: VALUE was added to the list of attributes by an edit in paper 99-156r1 passed in Oxford. Comment 404:3 (Type aliases introduce portability problems, especially for generic interface resolution). Resolution: Subgroup felt this was very similar to comment 63:21-23 (see resolution above). Comment 407:28 (use TRANSFER to convert between C and Fortran pointers). Subgroup notes that various mechanisms for interoperability with C pointers were discussed, the current facilities were approved in full committee both in specification and syntax papers for interoperability, and that the discussion presented in this comment would be a change of direction at this point. No further action is planned by /interop. Comment: 409:33-34 Confusion about the need for the word original. Resolution: The word original is there to avoid confusion with the hypothetical array that is being constructed. This is intended to cover multi-dimension arrays, which in C exist only as arrays of arrays. EDIT: Page 85, after line 27 insert J3 internal note It may be useful to allow the VALUE attribute on dummy arguments for Procedures other than procedures with the BIND(C) attribute. VALUE for dummy arguments of non-BIND(C) procedures could implicitly have the INTENT(IN) attribute, thus allowing the copy of the actual argument associated with the VALUE dummy argument to be redefined during procedure invocation without modifying the actual argument. J3/99-209 2/2