[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