Re: Comment on new INTENT paragraph

Jeff Squyres (jsquyres@lsc.nd.edu)
Tue, 13 May 1997 14:30:17 -0500 (EST)

On Tue, 13 May 1997, Dick Treumann wrote:

> > Can't we get a compromise by removing the clause, p5 32-36: "There is one
> > special case -- if an argument is a handle to an opaque object (these
> > terms are define din Section 2.5.1), and the object is updated by the
> > procedure call, then the argument is marked OUT. It is marked this way
> > even though the handle itself is not modified -- we use the OUT attribute
> > to denote that what the randle references is updated."
>
> It is not the statement above which is the problem. It is the fact that
> in MPI 1.1 at least, this statement guided those who put IN/OUT/INOUT
> labels on arguments. I have a good idea how to decide when a function's
> parameter is const and when it is not. I do not really understand how

I think that it may have been the misunderstanding of this statement that
led to the bad placement of IN/OUT/INOUT labels in MPI-1. For example,
the statement says that the Comm argument on an MPI_Send should probably
be INOUT, because it is certainly conceivable that an implementation would
need to change something internal to the MPI_Comm object when posting a
send, although it doesn't need to change the handle itself.

> to judge "what the user perceives as changing". Did that phrase go into
> the document somewhere?

I don't think so, but it was certainly the context that it was discussed
in (I remember hearing that phrase several times).

{+} Jeff Squyres
{+} squyres@cse.nd.edu
{+} Perpetual Obsessive Notre Dame Student Craving Utter Madness
{+} "I came to ND for 4 years and ended up staying for a decade"