(j3.2006) referencing co-array variable that is an ultimate argument

Bill Long longb
Thu May 24 18:38:19 EDT 2007

What's obvious to some (Aleks, me, ...) might not be so obvious to 
others, which is why multiple people read the standard and make 
comments. The standard should not rely on assumptions, even somewhat 
obvious ones.  If the section in question needs fixing, that should be 
done.  The existing rules are fine for non-co-array dummy arguments.  If 
the dummy argument is a co-array without the target attribute, 
statements executed on its image within the procedure shall not affect 
its value other than through the dummy argument [preserves the usual 
dummy argument optimizations], but its value may also be affected by 
statements executed on other images as is the normal case for co-arrays 
[allowing the usual co-array optimizations within segments].   Probably 
adding "on the executing image" in a few places in pages 319 and 321 
will fix this.


Aleksandar Donev wrote:

>On Wednesday 23 May 2007 17:27, Malcolm Cohen wrote:
>>If you wanted the standard to only refer to what happens on a single
>>image, coarrays should be a supplemental standard, not integrated.
>The standard specifies what happens within an execution sequence and also the 
>interaction between the different sequences. Reading the words you quoted as 
>talking about all of the instances of the program together is perverse. First 
>of all, "via the dummy argument" makes no sense in a multi-image context. The 
>dummy argument is associated with the execution of a procedure, which only 
>happens on one image. There is no "the dummy argument" on other images. In 
>fact all of the stuff in clause 12 talks about a single execution sequence as 
>argument association only happens on a given image.
>In any case, the standard should not contain temporal designations such as 
>"while", "when" etc. other than in the context of a single execution 
>sequence. The different sequences are only ordered with respect to segment 
>ordering, with no absolute temporal ordering (no global clocks). If there are 
>words that talk about a "global" time and are not clearly qualified with a 
>particular execution sequence, that should be corrected.
>J3 mailing list
>J3 at j3-fortran.org

Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://j3-fortran.org/pipermail/j3/attachments/20070524/4285440b/attachment-0001.html 

More information about the J3 mailing list