[MPI3 Fortran] (j3.2006) (SC22WG5.3864) MPI non-blocking transfers
Michael Ingrassia
michaeli at ranma.sfbay.sun.com
Wed Jan 21 13:27:43 CST 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
12.3.1.1 [04-007:page257]
"A procedure ... shall have an explicit interface if it is reference and ...
The procedure has a dummy argument that (a) has the ... ASYNCHRONOUS ...
attribute"
and
5.1.2.3 [04-007:page77] "The ASYNCHRONOUS attribute may be conferred implicitly
by the use of a variable in an asynchronous input/output statement."
and
12.2.1.1 [04-007:page256] "The characteristics of a dummy data object are its type,...whether it has the ... ASYNCHRONOUS ... attribute[s]"
and
12.3 "The characteristics of a procedure are fixed ... in different scoping
units"
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.
--Michael I.
More information about the mpiwg-fortran
mailing list