(j3.2006) Was it necessary to describe the selector in such a roundabout way?
Van Snyder
Van.Snyder
Wed Apr 4 21:48:45 EDT 2012
R805 says the <selector> in an ASSOCIATE construct is an <expr> or
<variable>.
In turn, R602 says <variable> is a <designator> or <expr>.
C804 says the <expr> in R805 shall not be a variable. This precludes
having two ways to evaluate an expression and end up with a pointer
(i.e., the <expr> in R801 and the <expr> in R602).
C801 says that certain kinds of <selector> cannot appear in a
variable-definition context.
It would seem to be easier to say that a <selector> is an <expr> in
R804, and say in C801 that if the <selector> is not permitted to appear
in a variable-definition context, then the <associate-name> shall not
appear in a variable-definition context. This would also cover the case
of the selector being an intent(in) dummy argument (which we don't cover
now), or a named constant. C804 would then not be necessary.
More information about the J3
mailing list