(j3.2006) (SC22WG5.5646) [ukfortran] Another comment on Corrigendum 4
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.
> >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 22.214.171.124
> >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
More information about the J3