09-169 To: J3 From: Van Snyder Subject: Coarray wording redundancies or inconsistencies Date: 2009 March 27 References: 09-007r1 1. Discussion Some restrictions on coarrays are stated in more than one place. For reference, here are two constraints mentioned below: C444 A data component whose type has a coarray ultimate component shall be a nonpointer nonallocatable scalar and shall not be a coarray. C525 An entity whose type has a coarray ultimate component shall be a nonpointer nonallocatable scalar, shall not be a coarray, and shall not be a function result. 2. Edits [37:14 2.4.7p5]--------------------------------------------------------- C525 says a coarray is prohibited to have coarray components. Therefore "noncoarray" is not needed here. Editor: Delete "noncoarray". [66:28-29 4.5.4 C444]--------------------------------------------------- Since C525 says "entity", not "variable", C444 is unnecessary. Editor: Delete C444. 3. Questions and remarks without answers NOTE 2.14 [37:18+8 2.4.7p7] would benefit from a reference to the text that supports its assertion, if there is such text other than 2.4.7p4, which doesn't say what the note says (2.4.7p4 says "can" not "is"). 12.5.2.8 [299:1] says that the actual argument corresponding to a coarray dummy argument has to be a coarray, but doesn't say anything about the dummy argument corresponding to an actual argument that is a coarray. 12.4.2.2 [281:20] says that a procedure has to have explicit interface if it has a coarray dummy argument, but says nothing about needing explicit interface if the actual argument is a coarray. If a coarray appears as an actual argument but the referenced procedure has implicit interface, is the coarray reference interpreted to be on the image that invokes the procedure? Probably so, since the corresponding dummy can't be a coarray. Does this need to be said somewhere explicitly, even if only in a note, or does NOTE 2.14 imply it (but without adequate normative support)?