[MPI3 Fortran] Summary of items on the table

Craig Rasmussen crasmussen at lanl.gov
Mon Apr 28 16:47:49 CDT 2008


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




More information about the mpiwg-fortran mailing list