(j3.2006) (SC22WG5.5646) [ukfortran] Another comment on Corrigendum 4

Van Snyder van.snyder
Sat Jan 23 22:03:54 EST 2016

On Sun, 2016-01-24 at 08:56 +0900, Malcolm Cohen wrote:
> >We added "potential subobject component" because
> ,,,
> > not because "subobject" didn't work for objects.
> Wrong.
> >The definition of "subobject" does not stop at allocatable,
> It does stop at unallocated allocatables, which is the reason why we have 
> "potential subobject component"!!!  The word "potential" is important here, 
> if "subobject" by itself "worked" we would not have had it.

Stopping at an unallocated allocatable is fine for C1290 (C1278A in
Corrigendum 4) because an unallocated allocatable (or a subobject of it
if it were allocated) doesn't get finalized, and therefore couldn't
cause an impure finalizer of a polymorphic subobject to be invoked.  Or
is there a different objective for this constraint?

> I wrote:
> > (2) "potential subobject component" applies to objects as well as types.
> > Just look at the definition - no limitation to types is implied inferred 
> > or
> > stated.  Objects as well as types have components, and thus have potential
> > subobject components.
> Van replies:
> >I thought 4.5.1p5 was the definition.  Is the summary of it in
> >the complete and correct definition?
> 1.3 is terms and definitions.  Every defined term in the standard is defined 
> in 1.3 (often by reference to other subclauses, but not in this case).
> >I don't object to using potential subobject component, but it seems that
> >subobject would work.
> Except that it does not.
> >We could write a precise and complete definition of "subobject" that
> >would be a bit more informative than 1.3.44:
> And get it wrong.
> Let's not attempt very tricky rewrites of terms to achieve an impossible 
> aim.
> Cheers,

More information about the J3 mailing list