J3/99-206 Date: 1999/08/09 To: J3 From: Matthijs van Waveren Subject: Unresolved issue 150 References: J3/98-165r1, J3/98-195r1, J3/98-196r2, J3/98-239 A. Introduction Unresolved issue 150 (284:3-7) concerns a constraint on NAME= bind-spec. The constraint is as follows: Constraint: A NAME= bind-spec shall not be specified in the function-stmt or subroutine-stmt of an abstract interface body (12.3.2.1) or an interface body for a dummy procedure. B. Discussion: The constraint seems to be in contradiction with the approved syntax on name mangling in paper J3/98-239. This paper mentions the following: "More than one BINDNAME= specifier may appear in a BIND for a subprogram, but not an interface body or the BIND attribute for a variable." and "The value of the NAME= specifier on an interface body or variable must correspond to some C function or variable, respectively, with the same name." Thus a NAME= bind-spec may appear in the BIND for a function-stmt or subroutine-stmt of an abstract interface body (12.3.2.1) or an interface body for a dummy procedure. In practice, the approved syntax allows a user to write an interface body for a procedure written in C, so that he can use it in Fortran, also when the name of the C procedure is not a valid Fortran name. The only constraint is on the BINDNAME= specifier. So the constraint should then be, according to the approved syntax: Constraint: A BINDNAME= bind-spec shall not be specified more than once in the function-stmt or subroutine-stmt of an abstract interface body (12.3.2.1) or an interface body for a dummy procedure. C. Edits Edits refer to J3/99-007R1 1. [285:14] Change constraint to: Constraint: A BINDNAME= bind-spec shall not be specified more than once in the function-stmt or subroutine-stmt of an abstract interface body (12.3.2.1) or an interface body for a dummy procedure. 2. [285:16-20] Delete J3 note 150