(j3.2006) UTI 076 and UTI 192
Wed Jan 31 21:43:13 EST 2007
Maybe if we actually say they have pointer components, we don't even
need to cut and paste anything from Clause 16 "events that cause
pointers to go undefined", since Clause 16 would cover it. Since
they're private, and processors have freedom to represent things however
they please, they could make a special case for pointer components in
C_PTR and C_FUNPTR. We could even put in a note to that effect.
On Wed, 2007-01-31 at 16:08 -0800, Aleksandar Donev wrote:
> On Wednesday 31 January 2007 13:25, Van Snyder wrote:
> > While reviewing Clause 16, I found UTI 076 and UTI 192. I didn't do
> > anything about either one, because I don't know what to do about either
> > one. I could guess, but why write a paper that won't even get a second?
> > I hope somebody who knows what is wanted in these two areas will write
> > something.
> I also don't have the will or time to write papers that might not even get
> considered. I asked on this list some time ago about the idea of saying C_PTR
> has a pointer component. That seemed to be somewhat controversial. We could
> instead say that C_PTR acts *as if* it has a pointer component. We already do
> this in the description of C_LOC:
> "If X is a scalar data entity, the result is determined as if C_PTR were a
> derived type containing a scalar pointer component PX of the type and type
> parameters of X and the pointer assignment CPTR%PX => X were executed."
> A similar wording could be used for definition/undefinition: It follows that
> of the ficticious pointer CPTR%PX.
> In fact I think this will altogether give a more coherent description to the
> types C_PTR and C_FUNPTR, as their behavior would be evident from knowing how
> normal Fortran pointers behave.
> If this sounds like a big change, the UTI can trivially be addressed by, as
> Malcolm says, simply cutting and pasting with minor changes stuff from
> "events that cause pointers to go undefined".
> J3 mailing list
> J3 at j3.scs.gmu.edu
More information about the J3