(j3.2006) enhanced ASYNCHRONOUS attribute

Bill Long longb
Sun Jul 17 12:02:40 EDT 2011



On 7/13/11 8:59 PM, Robert Corbett wrote:
> On 07/13/11 03:36, Bill Long wrote:
>>
>>
>> On 7/13/11 3:38 AM, Robert Corbett wrote:
>>> Does Clause 2.4 of DPTR 29113 change the language
>>> specified by the Fortran 2008 standard in any way?
>>
>> In practice, yes.  A Fortran implementation that implements all
>> asynchronous I/O as synchronous I/O (allowed by the standard) can
>> effectively ignore the ASYNCHRONOUS attribute.  The new wording
>> disallows that option.
> As I said before, the restrictions given in Clause 2.4 are
> restrictions on programs, not processors.  I understand
> that there should be restrictions on what a standard-
> conforming processor may do, but I do not see those
> restrictions in Clause 2.4.
>
> Suppose a program does an input communication asynchronously
> using procedures written in a language other than Fortran.
> Suppose the initiation procedure names a variable with the
> ASYNCHRONOUS attribute but not the TARGET or VOLATILE
> attributes as the input variable.  Suppose the completion
> procedure does not name the input variable.  I see nothing in
> the DPTR that prohibits a processor from loading the value of
> the variable before the completion procedure is called for
> use in the execution of a statement after the completion
> procedure is called.
>

The situation with 2.4 is no different from the current situation in the 
standard for async I/O.  A WAIT statement could be in a called 
subroutine.  The processor has to take into account that possibility and 
not move operations like this across a call.    The standard does not 
spell out detailed instructions of this type to implementers.

Cheers,
Bill


> Bob Corbett

-- 
Bill Long                                           longb at cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101





More information about the J3 mailing list