> > I would strongly recommend that this paragraph be removed from the document.
> > It does nothing than confusing the user, and makes *any* Fortran90 binding
> > which wants to specify INTENT (for performance and/or safety) completely
> > impossible.
>
> This was thoroughly discussed at the last meeting and this paragraph is
> consistent with that discussion. The problem is that something in an
> opaque object may change even though nothing accessible by the user
> changes. Thus a rigorous classification may not be possible. If a
> rigorous classification is used then every argument would be INOUT which
> would defeat the purpose of INTENT. I would suggest adding that the
> rigor of the classification is implementation dependent since most
> implementations probably do not want rigorous classification, but some
> may want to do this if they want to address FORTRAN 90 issues.
I actually missed the discussion about this, but here's my $0.02:
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 would seem that this is the clause that is the source of the
controversey, since it dictates that the internal state of the MPI objects
is (or is not) allowed to change. But at the last meeting, it was agreed
that it should only affect "what the user perceives as changing.". So
doesn't that effectively mean just the handle?
So the *handle* could be strictly IN, OUT, or INOUT, but not necessarily
what the handle points to in the implementation (which will probably be
different in all implementations anyway, so it may be pointless to try to
regulate this anyway). Marking the INTENT of the handle should be easy,
even in C and C++ (pass by value when IN, reference when OUT or INOUT).
This seems to be consistent with what was decided at the last meeting.
{+} 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"