(j3.2006) (SC22WG5.4646) AW: Vote on N1904
Bader, Reinhold
Reinhold.Bader
Wed Mar 14 17:49:56 EDT 2012
[...]
>
> Note that the proposals to simply forbid INTENT(OUT) together with
> assumed-type exclude reasonable uses of INTENT(OUT) (e.g. for MPI
> receive buffers), but some constraint along those lines seems the best
> solution.
The MPI-3 draft for the new Fortran bindings contains some remarks
concerning INTENT(OUT) for receive buffers which - if I remember
correctly - can be interpreted along the following lines
* don't take the Fortran semantics of the MPI spec too seriously as an implementor -
you're allowed to specify INTENT(INOUT) here [and would be required to
if you use TYPE(*) and the above restriction is implemented in the TS]
* programmer, please don't rely on other things than the buffer elements
written by your send NOT becoming undefined
Rolf may be able to shed more light on this, so am putting him on CC here.
In any case, it is not the purpose of MPI-3 to enable communication of
data of types described below, so while I'm not convinced that loosening
of the planned INTENT(OUT) prohibition is necessary, the below would
certainly not impact MPI-3.
> The following is badly worded and may not be enough, but is
> put forward as a possibility:
> "If the actual argument corresponding to an assumed-type dummy argument
> is of a type with default-initialized components, or of a type that has
> has components that have the ALLOCATABLE or POINTER attributes, or are
> of types with default-initialized components, the assumed-type entity
> shall not have the INTENT(OUT) attribute."
>
Regards
Reinhold
More information about the J3
mailing list