[mpi-21] Ballot 4 proposal: fix attribute example 4.13
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:
> 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.
> Jeff Squyres wrote:
>> 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:
>> Change MPI-2:4.12, p58:36 from:
>> IF (val.NE.5) THEN CALL ERROR
>> IF (val.NE.address_of_i) THEN CALL ERROR
>> 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
>> 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