MPI Forum Meetings logo

MPI Forum: mpi3-fortran Mailing List Archives

all MPI Forum: mpi3-fortran mailing list

Subject: Re: [MPI3 Fortran] Summary of items on the table
From: Craig Rasmussen (crasmussen_at_[hidden])
Date: 2008-04-28 17:47:49


On Apr 28, 2008, at 2:29 PM, Bill Long wrote:

> Aleksandar Donev wrote:
>> On Monday 28 April 2008 12:51, Bill Long wrote:
>>
>>
>>> Changing the actual argument to a C_LOC reference also has the side
>>> effect of making the actual argument an expression whose value is
>>> not a
>>> Fortran pointer. Thus, the corresponding dummy argument cannot be
>>> defined. A problem for about half of the interesting MPI cases.
>>>
>> That's a bogus complaint. The actual is a C pointer, and cannot be
>> changed, indeed. But its target can be changed through the
>> pointer, which is exactly the intent here.
>>
>
> The problem is that the Fortran standard supports those semantics
> only for a Fortran pointer, not for a C pointer. I know it "will
> work anyway", but that does not mean it is valid.
>

The goal is to get rid of "it will work anyway" with the MPI 3
bindings. I was thinking of using C_F_POINTER to make it standards
compliant. I assume we are talking about intent(out) arguments
(MPI_Recv). However, I'm afraid that MPI users will revolt from
changing their code in this way and stick with the unsafe "it will
work anyway" bindings they have been using for a decade.

 From preliminary feedback at the MPI Forum meeting the wish would be
for bindings that limit the effect on existing code.

Craig