To: J3 Members J3/16-201 From: Van Snyder Subject: Comments on clause 6 References: 16-007r1 Date: 2016 May 23 1. Edits ======== [122:4 6.3p1] Insert "accessible" before "constant" so as not to subvert the PRIVATE attribute. [122:11-12 C616] Delete C616 because it is entirely redundant to C524, which prohibits a coarray to be of the types prohibited by C616, and C614, which requires the object to be a coarray if an image selector appears. [122:22 6.4.2p4] Move the comma before "if" to be after "type" so as not to suggest "type if any". [129:10 6.5.4p2#4(5)]. Replace "which either does not have a , or" with "that" because if there is no the designator designates a whole array, not an array section, violating the premise of the sublist. Replace it with "that" instead of "which" to avoid "which ... which" in close juxtaposition. [129:21+ C628+] Insert a constraint" "C628a (R624) TEAM and TEAM_NUMBER shall not both appear in the same ." 2. Coindexed named data objects =============================== What is the point of ? Its syntax is a subset of . It is used only in syntax rules R601 and R609, and not mentioned in the text except in constraint C620 on its definition in R614. The title of subclause 6.4.3 is "Coindexed named data objects." That subclause number and title appear only in the table of contents. It appears we do not need the syntax rule and subclause. [121:6 R601] Delete "<> " because it is a subset of "". [122:12 R609] Delete "<> " because it is a subset of "". [124:1-5 6.4.3] Delete subclause 6.4.3 "Coindexed named data objects" because nothing in it is referenced, after the two above edits are applied. [131:24+ C644+] Move C643 at [131:22] and C646 at [131:29] to be after C644 so as to put the constraints against the declared type having a coarray ultimate component together. [132:10 6.7.1.1p4] Append ", nor shall it have a coarray ultimate component" at the end of the sentence. C646 doesn't (cannot) cover this case. [132:20 6.7.1.1p7] After "assumed type parameter" insert "; the corresponding type parameter of the effective argument shall not be deferred". {If it is deferred, and the object is not allocated -- which it cannot be if allocation is to succeed -- the type parameter value is undefined.} [132:32 6.7.1.2p3] Replace "If ... coarray" with "When an ALLOCATE statement is executed for a coarray", and insert "of the coarray" after "type parameters". Compare the to previous paragraph. [133:5-7 6.7.1.2p8] Delete "If the value ... error condition occurs." because it is essentially identical to a sentence in 6.7.1.1p6. [133:10+ 6.7.1.2p9+] Insert a paragraph: "When more than one object is allocated by execution of an ALLOCATE statement, the order of allocation is processor dependent." {Compare to 6.7.3p4. Maybe this edit and the next one aren't necessary if the reason for 6.7.3p4 has something to do with finalization, because allocation does not cause finalization.} [526:9+ A.2] Insert a list item: " o the order of allocation when several objects are allocated by an ALLOCATE statement (6.7.1.2);" [133:38 6.7.1.3p5] Replace "created" by "allocated" because "created" is the wrong word. [134:20 6.7.2p1] After "pointers" insert "in the " so that it doesn't nullify some unspecified set of pointers, maybe every accessible one. Replace "be" with "become" because this isn't a declaration. [134:27+2 NOTE 6.21] Before "declared type" replace "the" with "its" because otherwise it's not clear what object's declared type determines the pointer's dynamic type. [135:14 6.7.3.2p2] Replace "will be" with "becomes". [137:18-19 6.7.5p2] Replace "is assigned" with "shall be assigned" and "are unchanged" with "shall not be changed" because these are requirements, not observations. 3. Questions without edits ========================== What is the point of [123:10 C615]? "C615 If appears and is an array, shall appear." All this does is prohibit whole-array references by using only the name instead of a section subscript list consisting entirely of colons. [130:5 6.6p6] What is assigned to the variable in the STAT= specifier if more than one image selector appears with a STAT= specifier and the same variable in the same statement?