[J3] Meaning of "within a DO CONCURRENT construct"
John Reid
john.reid9 at talktalk.net
Thu Sep 5 19:56:16 UTC 2024
Themos,
It seems clear enough to me.
11.1.7.4.2, begins with "The concurrent-limit and concurrent-step
expressions in the concurrent-control-list are evaluated. These
expressions may be evaluated in any order."
and 11.1.7.4.3, para 3, uses "The block of a DO CONCURRENT construct"
when just the block is referenced.
Cheers,
John Reid.
Themos Tsikas via J3 wrote:
> Hello,
>
> I would like clarification on constraint C1143 (11.1.7.5 Additional
> semantics for DO CONCURRENT constructs), quoted next:
>
> "A reference to an impure procedure shall not appear within a DO
> CONCURRENT construct."
>
> Was the intention of the committee that this applies to the
> expressions in the concurrent-header, e.g. for concurrent-limit and
> concurrent-step? An alternative interpretation is that the constraint
> applies strictly to the block of the construct.
>
> We already have the un-numbered constraint (10.1.4 Evaluation of
> operations) "the evaluation of a function reference shall neither
> affect nor be affected by the evaluation of any other entity within
> the statement". A single reference to an impure function in the
> concurrent-header would fly under that, but would violate C1143 (under
> first interpretation), seemingly pointlessly.
>
> Thanks,
> Themos Tsikas
More information about the J3
mailing list