(j3.2006) (SC22WG5.3868) [MPI3 Fortran] MPI non-blocking transfers
Wed Jan 21 14:27:43 EST 2009
> I do
>not know whether in F2003 the interface of a procedure has to specify
>ASYNCHRONOUS if the dummy gets it implicitly
Fascinating. I think yes.
The relevant provisions seem to be
"A procedure ... shall have an explicit interface if it is reference and ...
The procedure has a dummy argument that (a) has the ... ASYNCHRONOUS ...
18.104.22.168 [04-007:page77] "The ASYNCHRONOUS attribute may be conferred implicitly
by the use of a variable in an asynchronous input/output statement."
22.214.171.124 [04-007:page256] "The characteristics of a dummy data object are its type,...whether it has the ... ASYNCHRONOUS ... attribute[s]"
12.3 "The characteristics of a procedure are fixed ... in different scoping
So in order that an interface block not be a scoping unit
in which a dummy argument had different characteristics than the actual
procedure, I think the standard does require that the ASYNCHRONOUS attribute
be explicitly conferred on the dummy argument. That is,
unless someone can figure
out a way to give it the ASYNCHRONOUS attribute implicitly in an interface
block; for all I remember we may have introduced a way to smuggle
an asynchronous input/output statement into a type declaration.
More information about the J3