To: J3 Members J3/16-262r3 From: Van Snyder & Dan Nagle Subject: Comments on Clause 11 References: 16-007r2 Date: 2016 October 12 The edits were edited to reflect JoR's views and to make them conform to the editor's requirements. Edits JoR declined to endorse are moved to the end. 1. Edits -------- {11.1.3.3 Other attributes of associate names} [183:20 11.1.3.3p5] Replace "or" with "nor" current: "neither the associate name or any subobject thereof" proposed: "neither the associate name nor any subobject thereof" {to correspond to "neither"} +++ {11.1.4 BLOCK construct} [184:9-10 R1109] Delete "" current: "[[ ] ... ]" proposed: "[[ ] ... ]" {because it's included in }. +++ {11.1.10.1 Purpose and form of the SELECT RANK construct} [199:12 C1150] Replace "maximum rank supported by the processor" with "fifteen minus the corank" current: "A in a shall be nonnegative and less than or equal to the maximum rank supported by the processor." proposed: "A in a shall be nonnegative and less than or equal to fifteen minus the corank." {because we don't want constraints to bless or encourage the use of extensions} +++ {11.6.2 Segments} [206:37-38 11.6.2p3(2)] Replace "referenced or defined" with "referenced, defined, or have its association or allocation status queried,". current: "that subobject shall not be referenced or defined in a segment on another image unless the segments are ordered" proposed: "that subobject shall not be referenced, defined, or have its association or allocation status queried, in a segment on another image unless the segments are ordered" {cover all cases} +++ {the next several edits are all in 11.6.7 EVENT POST statement} [211:9 R1171] Replace "scalar-variable" with "\si{scalar-variable}". current: " <> scalar-variable" proposed: " <> " {indicate syntax term} [211:12- 11.6.7p2-] Insert before the paragraph: "The shall not depend on the value of the or ." {enforce the usual constraints} {11.6.8 EVENT WAIT statement} [211:24- 11.6.8p2-] Insert before the paragraph: "The shall not depend on the value of the or ." {enforce the usual constraints} +++ {the next several edits are all in 11.6.11 STAT= and ERRMSG= specifiers in image control statements} [214:2, 4 11.6.11p1] Replace "The " with "In an image control statement, the " Replace "" with ", , " twice. current: "The shall not depend on the value of the , , or the " proposed: "In an image control statement, the shall not depend on the value of the , , , , or the {keep list all here (not scattered about)} [215:16 11.6.11p5(3)] After "stopped" insert "or failed". current: "if no image has stopped and any other error condition occurs," proposed: "if no image has stopped or failed and any other error condition occurs," {missing possibility} [215:23,24-25 11.6.11p7] Replace "variable specified by the STAT= specifier" with "" current 23: "the specified variable becomes defined" proposed 23: "the becomes defined" current 24-25: "the variable specified by the STAT= specifier becomes defined" proposed 24-25: "the becomes defined" {for consistency with other list items.} [215:23,26-27,30 11.6.11p7] Replace "specified variable" with "" thrice current 23: "the specified variable becomes defined" proposed 23: "the becomes defined" current 26-27: "the specified variable becomes defined" proposed 26-27: "the becomes defined" current 30: "the specified variable becomes defined" proposed 30: "the becomes defined" {for consistency with other list items.} +++ {A.2 Processor Dependencies} [535:1+ Annex A] Insert a list item: " o the value assigned to a STAT= specifier in an image control statement if an error other than a stopped image or failed image occurs (11.6.11);" {note in PD list} 2. Optional edit ---------------- [195:19 11.1.8.2p1] Delete "At most ... is executed" because it's already said in 11.1.8.1p1. >no - keep since introduces the rest of p1 3. Questions without edits -------------------------- {JoR did not pursue these} [185-186 11.1.5] If a CHANGE TEAM construct is executed while a construct is executing, and that construct has a that is a coindexed object, does the CHANGE TEAM construct affect the image index of the association? I think not, because it doesn't affect the image index of an actual argument (or at least I hope it doesn't). A note might be helpful to stave off a future interp request. Something like "Execution of a CHANGE TEAM statement does not affect associations of coindexed actual arguments to dummy arguments of procedures that have not completed execution when the CHANGE TEAM statement is executed, or associations established by constructs that have not completed execution when the CHANGE TEAM statement is executed." Or this could be said in 11.1.3.3. Something like "If the is a coindexed object, the image to which it refers is not affected by executing a CHANGE TEAM statement while the construct is executing," and something like that somewhere in 15.5.2.3. [207 NOTE 11.34] Should variables that are referenced or defined by calls to atomic subroutines have the VOLATILE attribute? Otherwise, how does the processor know that some other image does not have its value in a cache? It probably isn't enough to specify explicitly that it has the attribute implicitly because an ordinary reference to it might appear in a different scoping unit from its use in a reference to an atomic subroutine. Of should every reference to an atomic subroutine be preceded and followed by SYNC MEMORY (which seems like a rather large hammer)? If they need to have the VOLATILE attribute, its description should be changed to encompass more than "means other than Fortran." [210:17 R1169] Why doesn't SYNC TEAM allow an integer to specify the team, as is allowed in an ? [213 11.6.10] What happens if an image that other images consider to have failed actually hasn't, doesn't realize they believe it's failed, and locks a lock variable? [214-215 11.6.11] Are failed or stopped images error conditions, or simply information made available using the ? This affects whether an image control statement without a STAT= specifier causes error termination if another image has failed, and the wording of "if an error other than a stopped image or failed image...." 4. Edits JoR declined --------------------- [186:2 11.1.5.2p2] Replace first "the" with "its". {11.1.5.1 Purpose and form of the CHANGE TEAM construct} [186:11] delete "original" [186:24,28 11.1.5.2p6,7] Replace "original team" with "parent team" twice. {fix that "original" is ambiguous: initial vs. parent} {11.1.5.2 Execution of a CHANGE TEAM construct} [187:7 C1120] C1120 should be a constraint on R1116, not a general constraint. Insert "(R1116)" before "A branch". {clarify scope of constraint} [190:1 11.1.2.7.1p1(1)] Delete "with the same kind type parameter as the " because the same thing is said two lines below at [190:3]. >no - m1, m2, m3 are executionmethod, expr1,2,3 are in the syntax [190:21 11.1.7.4.2p1(1)] Delete "with the same kind type parameter as the " because the same thing is said two lines below at [190:23]. >no [193:11 11.1.7.5p6] Append a sentence "Each input/output operation is performed completely without interference from another input/output operation on the same unit in a different iteration." {This could be a note if this is already specified somewhere in Clause 12 -- but it needs to be said here in proximity to the prohibition against ADVANCE. If the effect of a critical section within a concurrent construct were to prohibit an iteration from entering it if another one is executing it, we could simply say "as if in a critical section."} >no - [262 12.12p2] says can't start an I/O on an external unit where >another I/O os already happening [204:20 11.3p1] After "statement" insert "that is not an statement" {because it has an effect there}. >no - is syntax, does not affect execution [206:28 11.6.2p2] Replace "may take place" with "may precede, succeed, or take place". Insert a comma after "on another image". [207:0+10-11 NOTE 11.33] After "provided" insert "that a reference potential reference to, or definition or potential definition of, a variable that is also referenced or defined in a call to". Replace "are not involved" with "is not moved across that call". {This covers nonlocal variables that might be referenced or defined during procedure references.} >no - keep it simply [211:5+2 NOTE 11.42] After "synchronizes" insert "an image with the images of". >not necessary - current wording is sufficient >> >[211:24- 11.6.8p2-] insert "The shall not depend on the value of the or ." >> >>>no! add to [214p1]