09-200
To: J3
From: Bill Long
Subject: UTI 163
Date: 2009 April 20
References: 09-007r1
Discussion:
UTI 163 (page 102) contains five paragraphs describing changes to
"5.3.19 VOLATILE attribute". The text rearrangements and changes
described in paragraphs 1, 4, and 5 look OK.
Para 2: The constraint on pointers, coarrays, and VOLATILE (C719 at
[160:6-7]) is in 7.2.2.2, not 7.2.2.1 as indicated in the current text
at [102:14]. Further, the editor objects to the term "described" for
text that is only a single constraint without added explanation.
Edits are provided to address these issues.
Para 3: The proposed new sentence
"A pointer without the VOLATILE attribute shall not be associated
with a coarray with the VOLATILE attribute."
is redundant with the current constraint C719
"A coarray shall have the VOLATILE attribute if and
only if the has the VOLATILE attribute."
Both prohibit
integer,target,volatile :: c(10)[:]
integer,pointer :: p(:)
p => c
There are no other conforming associations between a pointer and a
coarray with the VOLATILE attribute. For example, in the case of
argument association, a coarray dummy shall be associated with a
coarray actual argument [299:2-3], and a coarray cannot be a pointer
[99:15-16]. A pointer dummy argument corresponding to a coarray (and
hence nonpointer) actual argument is not associated [294:20-21]. It is
not clear that the new sentence adds anything.
------------
Edit to 09-007r1:
[102:14] In the last sentence of para 2 of "5.3.19 VOLATILE attribute"
replace "described in 7.2.2.1" with "constrained by C719."