ISO/IEC JTC1/SC22/WG5 N2041 Editor's report for WG5/N2040 Bill Long, 31 December 2014 Document WG5/N2040 was prepared by applying edits to WG5/N2033 based on the responses to comments resulting from the ballot in WG5/N2035. The comments from that ballot are compiled in WG5/N2038 with responses to those comments in WG5/N2039. The edits are based on WG5/N2039. Additionally, one minor editorial fix is included at the end of this paper. The edits from WG5/N2039 are ordered here based on page and line number. Source references back to WG5/N2039 are included as well as a summary of the reason for the edit. Edits to WG5/N2033 based on comment responses in WG5/N2039. ============================================================ Clause 3 Terms and definitions ------------------------------ [5:41] Change "has encountered" to ", in a statement other than an image control statement or an invocation of a collective or atomic subroutine, attempts to reference or define data using". {Source: Robert Corbett ballot comment response.} {Reason: The existing definition of "stalled image" used the vague term "encountered", and omitted key limitations to distinguish stalled images from failed images.} Clause 5 Teams -------------- [10:18] Change the beginning of the sentence from "The shall have been defined by execution of a FORM TEAM statement" to "The value of shall be the value of a team variable defined by execution of a FORM TEAM statement". {Source: Comment from John Reid for [10:19], modified.} {Reason: The beginning part of the sentence had syntax semantics for team variables, whereas the ending part had value semantics. This was inconsistent. Value semantics are correct. Edit for the beginning of the sentence.} {Ed: The original ballot comment removed the last part of the sentence. This was the wrong direction for a change. The new edits was substituted.} [10:20] Change "those defined" to "those of team variables defined". [10:21] Change "team." to "team or be the values of team variables for the initial team. {Source: Comment from John Reid for [10:19] extended} {Reason: Need to use value semantics for team variables in this sentence, and allow for the specified team being the initial team.} [10:23] At the end of the paragraph, add the sentence "A CHANGE TEAM construct completes execution by executing its END TEAM statement." {Source: Added edit based on comments from Malcolm Cohen.} {Reason: We subsequently say deallocations happen "when execution of a CHANGE TEAM construct completes", but do not specify precisely what that means.} [10:38] At the end of the sentence add "since execution last began in the team that was current before execution of the CHANGE TEAM statement" {Source: Comment from John Reid, modified} {Reason: CHANGE TEAM is similar to SYNC TEAM regarding segment ordering, so have similar wording.} {Ed: The original insertion, "since execution last began in this team", is unclear in this case because the statement changes the team. Edit modified to make it clear which team is meant.} [10:41] At the end of the sentence add "since execution last began in the team that was current before execution of the corresponding CHANGE TEAM statement". {Source: Comment from John Reid, extended} {Reason: END TEAM is similar to SYNC TEAM regarding segment ordering, so have similar wording.} {Ed: This was an added edit - END TEAM was omitted from the original ballot comment.} [11:9] After "designator" add "and the current team is not the initial team". [11:12] After "TEAM_ID." add "If TEAM_ID= appears in a coarray designator and the current team is the initial team, the value of is ignored." {Source: Comment from John Reid for [10:19] extended.} {Reason: Account for the case that the current team is the initial team.} [12:21] At the end of the sentence add "since execution last began in this team". {Source: Comment from John Reid.} {Reason: FORM TEAM is similar to SYNC ALL regarding segment ordering, so make the wording parallel.} [13:1] Change "the team" to "team". {Source: Comment from John Reid.} {Reason: Definite article is wrong here.} [13:5] Remove space before period. {Source: Comment from John Reid.} {Reason: typo.} [14:9] Change "detect that an image has stalled" to "manage a stalled image". {Source: Comment from John Reid.} {Reason: The wording in the following edit relates to the case where the processor can manage the stalled image.} [14:19-25] Replace these two paragraphs by the following two paragraphs: "If an image, in a statement other than an image control statement or an invocation of a collective or atomic subroutine, attempts to reference or define data using an that identifies an image that has failed, the executing image becomes a stalled image. If the identifies the initial team or the processor does not have the ability to manage a stalled image, the executing image remains a stalled image for the rest of the execution of the program. Otherwise, the executing image resumes execution at the END TEAM statement of the construct after execution of all finalizations and deallocations that would have occurred during the normal completion of active procedures that were invoked within the CHANGE TEAM construct. While an image is stalled, other images can still access data on that image. If an image is stalled in the initial team, it participates in normal termination as if it had initiated normal termination." {Source: Comments by Robert Corbett and Bill Long, modified in WG5/N2039.} {Reason: Correct definition of a stalled image, clarify the steps involved in managing a stalled image (if that capability is supported by the implementation), and clarify what happens if an image stalls while the current team is the initial team.} Clause 7 Intrinsic procedures ----------------------------- [17:32+] Add new para "If a condition occurs that would assign a nonzero value to a STAT argument but the STAT argument is not present, error termination is initiated." {Source: Comment from Reinhold Badar.} {Reason: The semantics for STAT not present in an atomic subroutine call was inadvertently omitted. Corresponding text at [18:24-25] for collective subroutine calls is copied here.} [24:22] After "to A" add "as if by intrinsic assignment". [24:23] After "to A" add "as if by intrinsic assignment". {Source: Comment from Tobias Burnus.} {Reason: Need to address whether finalization occurs during execution of CO_REDUCE. The edits tie this to the rules for intrinsic assignment, avoiding additional edits in 4.5.6.3 "When finalization occurs" in the base standard.} [27:15] change "nonzero" to "positive". {Source: Comment from Dan Nagle.} {Reason: Error values are positive.} {Ed: The original edit, [27:14-15] change "a nonzero value" to "a positive value", did not account for the "processor-dependent" between "nonzero" and "value".} [29:34] At the end of the sentence add "since execution last began in this team". {Source: Comment from John Reid.} {Reason: MOVE_ALLOC is similar to SYNC ALL regarding segment ordering, so make the wording parallel.} Clause 8 Required editorial changes ----------------------------------- [32:14] Change "has encountered" to ", in a statement other than an image control statement or an invocation of a collective or atomic subroutine, attempts to reference or define data using". {Source: Robert Corbett ballot comment response.} {Reason: Same as for [5:41] above. This is the replication of that text in Clause 8.} [34:8] At the end of the sentence add "\uwave{since execution last began in this team}". {Source: Comment from John Reid.} {Reason: ALLOCATE is similar to SYNC ALL regarding segment ordering, so make the wording parallel.} [34:13] At the end of the sentence add "\uwave{since execution last began in this team}". {Source: Comment from John Reid.} {Reason: DEALLOCATE is similar to SYNC ALL regarding segment ordering, so make the wording parallel.} Additional Edit to WG5/N2033 for a minor editorial repair. ========================================================== Clause 8 Required editorial changes ----------------------------------- [35:26-27] Extend \uwave{} to include all of "since execution last began on this team}. {Ed: Incorrect LaTeX encoding caused only the first letter to have the under wave.}