(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