08-196 To: J3 From: Van Snyder Subject: External procedures and binding labels Date: 2008 May 19 References: Interp F03/0076, 08-007r2, 08-187 1. Introduction Interp F03/0076 concluded that an external procedure having a given binding label has to have the same procedure name in every scope. It was suggested that this ought to be changed in f2008. Edits were suggested in 08-187 that would result in the names of external procedures that have binding labels being local identifiers. Those edits are reproduced here, applied to 08-007r2. 2. Edits w.r.t. 08-007r2 In [439: 16.2p1] replace the second "external procedure" with "external procedure for which a binding label is not specified", replace "such global entity" with "such entity" [this is cannonball polishing], and replace "except ... program" with "except that the name of such an entity may be the same as the name of an intrinsic module". {Makes the Fortran name of an external procedure a global identifier only if it doesn't have a binding label.} In [440: 16.3.1p1(1)] append "external procedures for which a binding label is specified," at the end of the item. {Makes the Fortran name of an external procedure a local identifier if it has a binding label.} This is not a problem because a procedure that has a binding label is required to have explicit interface (see 12.4.2.2p1(5)).