09-131r1 To: J3 From: Bill Long, John Reid Subject: UTI 153 Date: 2009 February 09 References: 09-007, 09-102 Discussion: UTI 153 (page 100) raises questions about [100:6-8]. The intent is that if an object (coarray or not) is associated (use, host, argument, pointer) with a coarray then either both have the VOLATILE attribute or neither does. The text in 11.2.2 and 16.5.1.4 needs to be modified to say this. Once this is done, the text of the first two sentences of para. 2 of 5.3.19 is redundant and is best deleted since the text in 11.2.2 and 16.5.1.4 is clearer. Also, the first sentence is faulty since an object is not "in different scoping units"; we say that it is associated with an object in another scoping unit. Edits are supplied to do all this. As far as I can see, the content of the first sentence of NOTE 5.25 is not stated in normative text. I have taken the opportunity to do this. ------------ Edits to 09-007: [100:6-8]. In 5.3.19 VOLATILE attribute, delete the first two sentences of para 2. [275:4-6]. In 11.2.2 The USE statement and use association, para 2, change the middle sentence to "The accessed entities have the attributes specified in the module, except that a local entity may have a different accessibility attribute, a local entity may have the ASYNCHRONOUS attribute even if the associated module entity does not, and a local non-coarray entity may have the VOLATILE attribute even if the associated module entity does not." [299:10-] In 12.5.2.4 Ordinary dummy variables, before C1238 add "C1237a An actual argument that is a coarray shall have the VOLATILE attribute if and only if the corresponding dummy argument has the VOLATILE attribute." [452:5-7]. In 16.5.1.4 Host association, para. 1, change the third sentence "The accessed entities are identified by the same identifier and have the same attributes as in the host, except that an accessed entity may have the ASYNCHRONOUS attribute even if the host entity does not and a non-coarray accessed entity may have the VOLATILE attribute even if the host entity does not." [455:1] In 16.5.2.1 General, para 1, add, as new third sentence "If, by means not specified by the program, the target is referenced, defined, or becomes undefined, the pointer shall have the VOLATILE attribute."