Date: 13-May-2002 J2/02-198R1 To: J3 From: Larry Meadows Subject: Unresolved Issue #347 Refs: J3/01-363r2 Discussion: Straw vote indicates that J3 would like a note. I find myself unable to craft such a note. I think that everything is fine anyway. I propose no edits. Hopefully the following text is sufficient for the committee. Unresolved Issue #347, 02-007R1 p. 388, raises an issue about bullet #4 rewording (in 15.2.6). Bullet #4 states (4) all the dummy arguments are nonoptional dummy data objects { or dummy procedures that have the BIND attribute; } Note: bracketed phrase is a subject of issue 347. And, bullet #6 states (6) any dummy argument without the VALUE attribute corresponds to a formal parameter that is of a pointer type, and the dummy argument is interoperable with an entity of the referenced type (C standard, 6.2.5) of the formal parameter; ... Subgroup believes there is no issue. The addition to bullet 4 places a requirement on dummy procedure arguments; they must have the BIND attribute so that C can call them. The remainder of issue #347 asks what it means for a dummy procedure to be interoperable with C, specifically what does it mean for it to be interoperable with an entity of the referenced type. In C, a function cannot be passed as an argument; rather, a function name used as a dummy argument is converted to a pointer to a function with the corresponding prototype. A C function that returns void is equivalent to a fortran subroutine, and in C, is converted to a pointer to a function returning void when used as a dummy argument. The language in bullet #6 is referring to C pointers. Edits: [388:11+] Delete J3 note