(j3.2006) Variable definition context
Malcolm Cohen
malcolm
Wed Apr 2 04:58:27 EDT 2014
>The first is the observation that in every reference to 16.6.7, other than the
>ones on page 316 concerning pure procedures, the objects discussed in relation
>to variable definition context are clearly nonpointer objects.
Apparently so (not carefully checked). I don't think it was always like that...
>I suspected that pointers of LOCK_TYPE are prohibited, but the closest thing I
>could find to prohibiting them is that targets of pointers cannot be coindexed
>objects. That doesn't prohibit a pointer from having a target that is a
>coarray.
Named variables of type LOCK_TYPE are explicitly required to be coarrays, and
that does prohibit them from having the POINTER attribute.
One might reasonably wonder why (apparently) it is ok to have a pointer
component of type LOCK_TYPE, but not a named variable. One might leap to the
conclusion that there is a missing rule somewhere... otherwise we have a
mysterious inconsistency. That or the rule requiring a named LOCK_TYPE variable
to be a coarray was accidentally strict and should have been "a coarray or a
pointer". Who knows.
>The third reason is that one can imagine uses of LOCK_TYPE pointers, if they
>are allowed, but with the existing prohibitions in 16.6.7 one cannot associate
>them.
I think I'd like feedback from the HPC subgroup first, on the apparent
inconsistency with LOCK_TYPE, before attempting to fix it. As it is, making any
change here has significant technical effect and is therefore not editorial.
Might be a wart or an interp though.
Cheers,
--
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3
mailing list