(j3.2006) C9845 in 09-290 and 09-290r2
Fri Nov 20 14:33:37 EST 2009
Van Snyder wrote:
> 09-290 advocated to change C845 [186:5-7 8.1.10] to
> "C845 (R850) An <exit-stmt> shall not appear with a CRITICAL or DO
> CONCURRENT construct if it belongs to that construct or an outer
> In 09-290r2, it ended up as
It was also this way in 09-290r1
> "C845 (R850) An <exit-stmt> shall not appear within a CRITICAL or DO
> CONCURRENT construct if it belongs to an outer construct."
> Do we want to allow an <exit-stmt> to belong to a CRITICAL or DO
> CONCURRENT construct?
Not for a DO CONCURRENT construct. It seems harmless for a CRITICAL
construct, in that it is essentially a branch to the END CRITICAL
statement. This is the downside of trying to put these constraints in
the EXIT and CYCLE sections, instead of focusing on the construct sections.
It appears that the wording was changed to be similar for the CYCLE and
EXIT cases. By these are not similar. CYCLE makes no sense belonging
to a CRITICAL construct; for DO CONCURRENT, it simply completes a
particular iteration. So the "belongs to" bit should not be in the
CYCLE constraint. EXIT, on the other hand, kills off all the uncompleted
iterations of a DO, and that is undesirable for DO CONCURRENT. Maybe we
just need an additional constraint for EXIT:
An <exit-stmt> shall not belong to a DO CONCURRENT construct.
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
More information about the J3