(j3.2006) (SC22WG5.4648) [ukfortran] AW: Vote on N1904
Bill Long
longb
Wed Mar 14 19:26:08 EDT 2012
On 3/14/12 5:57 PM, N.M. Maclaren wrote:
> On Mar 14 2012, Bader, Reinhold wrote:
>>
>> 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.
>
> No, that wasn't my point.
>
> It was that MPI receive buffers are a well-known example of where
> output-only assumed-type arguments are needed. While there is no
> difficulty in using INTENT(INOUT) or no INTENT, having to specify
> something other than what you intend is poor software engineering.
>
I appreciate the principle. However, one might argue that declaring a
variable TYPE(*) already has you pretty far down the "poor software
engineering" road.
> There is no reasonable sense in which assumed-type is incompatible
> with INTENT(OUT) as such. The only incompatibility is with some of
> the semantic requirements that have been attached to INTENT(OUT) for
> some types.
>
True. I assume your proposed exceptions were intended to added to 6.3p2.
The risk I see is that we miss something, or spend undue time haggling
over the wording. The risk/reward balance is the concern. In contrast,
Reinhold's proposed edit (add INTENT(OUT) to the list in C4071) is very
simple -> low risk. I agree it is overkill, but for such a narrowly
focused feature as TYPE(*), I think that is an acceptable trade-off.
Cheers,
Bill
>
> Regards,
> Nick Maclaren.
>
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
--
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