07-189 To: J3 Subject: Comments on Clause 6 From: Van Snyder Date: 2007 April 23 1 Edits Edits refer to07-007r1. Page and line numbers are displayed in the margin. Absent other instructions, a page and line number or line number range implies all of the indicated text is to be replaced by associated text, while a page and line number followed by + (-) indicates that associated text is to be inserted after (before) the indicated line. Remarks are noted in the margin, or appear between [ and ] in the text. [119:1+] ---------------------------------------------------------------- [Editor: Needs an ISO-mandated subclause heading.] [120:1-3] ---------------------------------------------------------------- [The fist three sentences of the paragraph duplicate [20:1-3]. Editor: Delete "A constant . . . (5.3.12, 5.4.10)." Then add (2.4.3.1.2) after "constant".] [120:24] ----------------------------------------------------------------- [Duplicates [22:19]. Editor: Delete the paragraph. [121:1] ------------------------------------------------------------------ [According to C406, an ob ject of abstract declared type cannot be other than polymorphic, so C612 does nothing. Editor: Delete C612.] [121:23] ----------------------------------------------------------------- [Editor: Exchange "neither" and "be".] [123:1+] ---------------------------------------------------------------- [Editor: Needs an ISO-mandated subclause heading.] [123:10-11] -------------------------------------------------------------- [Duplicates [96:13-14]. Editor: Delete "An assumed . . . shape.] [124:7] ------------------------------------------------------------------ [Editor: Replace "that" by "its".] [125:0+] ---------------------------------------------------------------- [Editor: Continuation of Table 6.1 needs a heading.] [126:4-7] ---------------------------------------------------------------- [The many-one array section restriction is needlessly complicated by singling out only the two possible cases of its appearance in a variable definition context. It would be simpler to say "variable definition context." The subclause would be clearer if this material were after material on the more general case. Editor: Move "A many-one . . . statement" to be a new paragraph at [126:10+]. Then replace "appear . . . statement" by "not appear in a variable-definition context (16.6.7)".] [126:8-10] --------------------------------------------------------------- [Paragraph is duplicative and overly complex. If we must keep it, replace it:] An array section with a vector subscript shall not be argument associated with a dummy argument that is defined or redefined (12.5.2.5(18)), the target in a pointer assignment (C726), or an internal file (C901). [127:8+] ---------------------------------------------------------------- [Editor: Needs an ISO-mandated subclause heading.] [128:1,3,5] -------------------------------------------------------------- [Editor: Replace "a " by "" thrice.] [129:14,19,130:3]--------------------------------------------------------- [Of all the paragraphs in 6.3.1, only three begin "When an ALLOCATE statement is executed. . . " even though most of the paragraphs are about what happens when an ALLOCATE statement is executed. Editor: Replace "When . . . which" by "When" at [129:14], replace "When . . . co-array, the" by "The", and replace "When . . . " by "If does not appear".] [130:130] ---------------------------------------------------------------- [The term "with this status" could more clearly be "allocated" or "unallocated". A list isn't really needed. Paragraph (2) of the subclause could reasonably be combined into the second list item. Editor: Delete [130:17]. Convert the itemized list into ordinary paragraphs. Insert "allocation" before "status" at [130:18]. Replace "if " by "when" thrice at [130:18-19] because [130:18] says "becomes". Replace "allocatable variable with this status" by "allocated allocatable variable" at [130:20]. Replace "a status" by "an allocation status" at [130:23]. Insert ".1" after "6.3.3" at [130:24] because it's more precise. Replace "if " by "when" twice at [130:24]. Replace "allocatable variable with this status" by "unallocated allocatable variable" at [130:25]. Move the paragraph at [130:30] to be a sentence before "The status" at [130:23].] [130:35-36] -------------------------------------------------------------- [Editor: Delete "An unsaved . . . unallocated." since that's covered by [130:30].] [133:18] ----------------------------------------------------------------- [Editor: Insert "The" before "".] [133:19] ----------------------------------------------------------------- [Editor: Replace the semicolon by a comma, or re-word the sentence not to use "nor".] [134:4] ------------------------------------------------------------------ [Editor: Insert "The" before "".] [134:5] ------------------------------------------------------------------ [Editor: Replace the semicolon by a comma, or re-word the sentence not to use "nor".] 2 Questions and comments without edits [121:7] ------------------------------------------------------------------ What is the point of C616? [128: Note 6.17] --------------------------------------------------------- I couldn't find normative support for the first paragraph. If it exists, it would be helpful to reference it. [6.3.1]------------------------------------------------------------------- It's not prohibited to allocate a co-array that has co-rank > 1 with the product of the extents specified by the s greater than the number of images. What happens in that case? [132:22-24] -------------------------------------------------------------- This paragraph refers to the actual argument associated with an INTENT(OUT) dummy argument. The discussion of finalization at [75:35-36] refers to the actual argument associated with an INTENT(OUT) dummy argument. The discussion of INTENT(OUT) at [98:15-20] refers only to the dummy argument. Should these be consistent? If so, which way?