To: J3 J3/22-107 From: John Reid Subject: Interp. re a coarray component of a dummy argument Date: 2022-January-15 References: 18-007r1 ---------------------------------------------------------------------- NUMBER: F18/035 TITLE: Defining or referencing a coarray component of a dummy argument DEFECT TYPE: Erratum STATUS: J3 consideration in progress QUESTION 1: On page 311 of 18-007r1, in 15.5.2.13, we have "While an entity is associated with a dummy argument, the following restrictions hold. ... (3) Action that affects the value of the entity or any subobject of it shall be taken only through the dummy argument unless ... (d) the dummy argument is a coarray and the action is a coindexed definition of the corresponding ultimate argument coarray by a different image." Should there be a similar exception for a coarray that is an ultimate component of a dummy argument? QUESTION 2: On page 312 of 18-007r1, in 15.5.2.13, we have "While an entity is associated with a dummy argument, the following restrictions hold. ... (4) If the value of the entity or any subobject of it is affected through the dummy argument, then at any time during the invocation and execution of the procedure, either before or after the definition, it shall be referenced only through that dummy argument unless ... (d) the dummy argument is a coarray and the reference is a coindexed reference of its corresponding ultimate argument coarray by a different image. Should there be a similar exception for a coarray that is an ultimate component of a dummy argument? ANSWERS: For both questions, the answer is "yes". It was intended that a subobject of a coarray that is an ultimate component of a dummy argument may be referenced or defined on another image by coindexing the corresponding coarray subobject of the actual argument. Edits are provided. EDITS to 18-007r1: [xiv] Introduction, Program units and procedures, last sentence, Insert ", or a coarray ultimate component of a dummy argument," After "argument", making that sentence read "A coarray dummy argument, or a coarray ultimate component of a dummy argument, can be referenced or defined by another image." {Add to new feature list since Fortran 2008.} [311:44-46] In 15.5.2.13 Restrictions on entities associated with dummy arguments, para 1, at the end of (3)(c) delete "or", and at the end of (3)(d) replace "image." by "image, or (e) the dummy argument has a coarray ultimate component and the action is a coindexed definition of the corresponding coarray by a different image." [312:9-11] In 15.5.2.13 Restrictions on entities associated with dummy arguments, para 1, at the end of (4)(c) delete "or", and at the end of (4)(d) replace "image." by "image, or (e) the dummy argument has a coarray ultimate component and the reference is a coindexed reference of the corresponding coarray by a different image." [314:1-]. At the end of 15.5.2.13 Restrictions on entities associated with dummy arguments, NOTE 5, sentence 1, replace "exception" by "exceptions" and "coarrays enables" by "arguments that are coarrays or have coarray components enable" so that the sentence reads "The exceptions to the aliasing restrictions for dummy arguments that are coarrays or have coarray components enable cross-image access while the procedure is executing." SUBMITTED BY: John Reid HISTORY: 22-xxx m226 Submitted ----------------------------------------------------------------------