To: J3 J3/19-180 From: Jon Steidel and John Reid Subject: Problems with TEAM_NUMBER= in image selectors Date: 2019-July-16 1. Introduction Section 9.6, paragraph 3 explains the semantics of image selectors that specify TEAM=, TEAM_NUMBER=, or that specify neither. There are several problems with this paragraph. If TEAM_NUMBER= is specified in an image selector, the coarray must be established in an ancestor team. This does not allow TEAM_NUMBER= to specify the team number of the current team and reference a coarray established in the current team. The TEAM_NUMBER= specifier in an image selector may specify a value of -1 if and only if the current team is the initial team. This is different than the behavior of the TEAM_NUMBER arguments of the IMAGE_INDEX and NUM_IMAGES intrinsics which allow -1 to indicate the initial team, no matter what the current team is. Finally, if neither TEAM= nor TEAM_NUMBER= is specified, nothing is said as to whether the coarray object has to be established. 2. Interpretation Request ---------------------------------------------------------------------- NUMBER: F18/xxx TITLE: Problems with TEAM_NUMBER= in image selectors KEYWORDS: TEAM_NUMBER, image selectors DEFECT TYPE: Erratum STATUS: Submitted QUESTIONS: Section 9.6 Image selectors, p3 states "If a TEAM= specifier appears in an , the team of the image selector is specified by , which shall identify the current team or an ancestor team; the object shall be an established coarray in that team or an ancestor thereof. If a TEAM_NUMBER= specifier appears in an and the current team is not the initial team, the value of the shall be equal to the value of a team number for one of the teams that were formed by execution of the FORM TEAM statement for the current team and the team of the image selector is that team; the object shall be an established coarry in an ancestor of the current team, or an associating entity of the CHANGE TEAM construct. If a TEAM_NUMBER= specifier appears in an and the current team is the initial team, the value of shall be the team number for the initial team; the object shall be an established coarray in the initial team. Otherwise, the team of the image selector is the current team." Question 1: The TEAM_NUMBER argument to IMAGE_INDEX and NUM_IMAGES is allowed to have the value -1 to indicate the initial team regardless of which team is the current team. The description of the TEAM_NUMBER= specifier for image selectors allows a TEAM_NUMBER of -1 only when the initial team is the current team. Was this difference intended? Question 2: If TEAM= is specified and is that of the current team, or if neither TEAM= or TEAM_NUMBER is specified, the team of the image selector is the current team and the coarray object may be established in the current team. If TEAM_NUMBER= is specified and is the same as that of the current team, the coarray object cannot be a coarray established in the current team. Was this this exclusion intended? Question 3: If neither TEAM= or TEAM_NUMBER= is specified in an image selector, can the coarray object be a coarray that is not established? ANSWERS: Question 1: No, this difference was not intended. Edits are provided to correct this. Question 2: This difference was not intended. When the team of an image selector is the current team, typically neither TEAM= or TEAM_NUMBER= are specified. Edits are provided to allow this case. Question 3: An unestablished coarray cannot be coindexed. The edits below correct this oversight. EDITS to 18-007r1: 9.6 Image selectors p3 Because there will be two ways for the team of the image selector to be the current team, we think it will be clearer to split para 3 into two parts, the first explaining how the team of the image selector is selected and the second explaining how the coarray is required to be established in the various cases. [131:16-23] at the end of sentence 1, delete "; "the object shall be ... thereof" at the end of sentence 2, delete "; "the object shall be ... construct" at the end of sentence 3, delete "; "the object shall be ... team" [131:17-18] in sentence 2, change "the current team ... " to "the value of is positive, it" [131:22] in sentence 3, change "the current team is ... the team number for the initial team" to "the value of scalar-int-expr is -1, the team of the image selector is the initial team" making the whole paragraph read "If a TEAM= specifier appears in an , the team of the image selector is specified by , which shall identify the current or an ancestor team. If a TEAM_NUMBER= specifier appears in an and the value of is positive, it shall be equal to the value of a team number for one of the teams that were formed by execution of the FORM TEAM statement for the current team and the team of the image selector is that team. If a TEAM_NUMBER= specifier appears in an image selector and the value of is -1, the team of the image selector is the initial team. Otherwise, the team of the image selector is the current team." [131:24+] insert new paragraph "If the team of the image selector is the initial team, the current team, or an ancestor of the current team, the object shall be established in that team or an ancestor thereof. Otherwise, the object shall be established in an ancestor of the current team, or be an associating entity of the CHANGE TEAM construct." SUBMITTED BY: Jon Steidel and John Reid HISTORY: 19-xxx m219 Submitted === END ===