J3/15-110r4 To: J3 Subject: Editorial From: Van Snyder Date: 2015 February 23 Reference: 15-007 1. General ---------- [24:24-25 1.5p4] Replace "given the EXTERNAL attribute (5.3.9) in its scope (2.2.1)" with "has the EXTERNAL attribute (5.3.9) where it is used". {What does "its scope" mean? The scope of the reference, the scope of declaration of the name, or the scope of definition of the subprogram? What if the name is accessed by use or host association, and the name is given the EXTERNAL attribute in the place from which it is accessed? What if the name is given the EXTERNAL attribute in some scoping unit from which it is NOT accessed at the point of reference?} [305:8 12.5.2.12p1] Replace the full stop with a semicolon. [305:9 12.5.2.12p1] Replace "Otherwise" with "otherwise", and join this sentence to p1; Start a new paragraph (p2) with "A nonoptional...." [477:27 16.5.1.3p1] Insert "or declared" after "defined". {"Defined" covers module procedures, types, and constants, but not variables, which use in their declaration, and PROCEDURE or EXTERNAL statements, which define an interface but declare a name.} 2. USE and host association and previous declaration or definition ------------------------------------------------------------------ At some places, the standard says "defined previously" or "declared previously." At other places it adds "in the [same] scoping unit or accessed by use or host association." From the syntax, it seems clear that something (other than another module procedure) that is accessed by host association is previously defined or declared. To avoid clutter (and have a better chance of getting it right everywhere), add a sentence to 11.2.2 that says entities accessed by use association are considered to have been previously defined. Then clean out the clutter. [277:2+ 11.2.2p2] At the end of the paragraph, insert a sentence: "A use-associated entity is considered to have been previously defined." [54:3-4 4.3.2.2p2] Replace the first sentence with "A in a TYPE type specifier in a type declaration statement shall specify a previously defined derived type." [104:8-9 5.5.13p2] Replace "in the same ... association" with "defined previously; it may be defined previously in the same statement" or "defined previously, perhaps in the same statement" (editor's choice). [110:11 C581] Replace "declared" with "defined". Delete "in the scoping ... association". [110:20-21 C582] Replace "declared" with "defined". Delete "in the scoping ... association".