J3/17-213 To: J3 From: John Reid & Reinhold Bader Subject: Comment 76 Date: 2017 October 06 Discussion: ----------- The image selectors in C.6.7 are invalid because they use TEAM_NUMBER but reference a coarray that is an associating entity. This is not permitted by the rules in 9.6. We could change the image selectors in C.6.7 to reference the original coarray. The lines would become A (:, 10) = A (:, 1)[1, 1, TEAM_NUMBER=UR] and A (:, 10) = A (:, 1)[2, 1, TEAM_NUMBER=UR] While the revised statements are simple, data exchanges across other boundaries would be awkward because we are using the cobounds [4,*] to address a coarray on a 2x2 grid. We believe that it was always intended to allow an associating entity in an image selector that uses TEAM_NUMBER, that is, for the example to work. A change to 9.6 will allow this. The symmetric memory aim (NOTE 5.11) is met because [188:12] says "Each selector shall be an established coarray when the CHANGE TEAM statement begins execution.". Edits to 17-007r2: --------------- [139:33] In 9.6 Image selectors, para 3, after "ancestor of the current team", add ", or an associating entity of the CHANGE TEAM construct." [562:41+] At the end of C.6.7 Accessing coarrays in sibling teams, add explanatory text: "Because the selector for a coarray association in a CHANGE TEAM must be established when the statement is executed (11.1.5.2), the associating entity will have the same type, type parameters and bounds on all the images of the sibling teams. This allows the use of TEAM_NUMBER in an image selector to address the corresponding coarray in a sibling team."