[mpi-21] Ballot 4 proposal: fix attribute example 4.13

Terry Dontje Terry.Dontje at [hidden]
Thu Feb 7 11:04:06 CST 2008

After talking with Jeff and reading the spec further I retract my 
concern because the spec does explicitly cover my concern in the verbage 
above example 4.13.


Terry Dontje wrote:
> Sorry I didn't send this out sooner but in reading the discussion for 
> the errata item "Interlaguage use of Attributes" I think the below 
> proposal has a potential hole that never was resolved in the mail 
> discussion in:
> http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/getattr/ 
> The specific hole pointed out by Nick Nevin in the following paragraph 
> from the email discussion:
> This might work for predefined attributes where the address can
> point to the integer value in static storage, but won't work for
> attributes set by the user in Fortran code.  If you store a pointer
> to the integer as the attribute it may point to a temporary which
> might no longer exist when you try and access it later.
> So I think relying on the address passed in for the attribute as 
> opposed to the value could cause some
> issues with Fortran.
> --td
> Jeff Squyres wrote:
>> Per 
>> http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/, 
>> the errata item entitled "Error in Example 4.13 in MPI-2 (Use of 
>> Attributes in C and Fortran)".  I believe that this errata item 
>> supersedes the errata item "Interlanguage use of Attributes".
>> See the mail discussing:
>> http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/attrcandf/ 
>> Proposal:
>> Change MPI-2:4.12, p58:36 from:
>>   IF (val.NE.5) THEN CALL ERROR
>> to
>>   IF (val.NE.address_of_i) THEN CALL ERROR
>> Rationale:
>> MPI-2:4.12 p58:12-13 and 16-18 clearly state that if an attribute is 
>> set by C, retrieving it in Fortran will obtain the address of the 
>> attribute.
>> See the mails for more discussion, including an exhaustive list of 
>> what happens for each of the 9 possibilities of setting and getting 
>> attribute values between the different languages.

More information about the Mpi-21 mailing list