[J3] [EXTERNAL] [BULK] Re: Meaning of "within a DO CONCURRENT construct"

Jeff Hammond jehammond at nvidia.com
Fri Sep 6 12:17:08 UTC 2024


What is the use case for calling an impure procedure in concurrent-control-list?  There is a trivial solution to this problem already.

Jeff

On 6. Sep 2024, at 15.12, Clune, Thomas L. (GSFC-6101) via J3 <j3 at mailman.j3-fortran.org> wrote:

External email: Use caution opening links or attachments

I would agree that the current wording is _clear_.   But also think that Themos has a valid point that the constraint should be weakened to apply only in the block of the DO CONCURRENT.


  *   Tom


From: J3 <j3-bounces at mailman.j3-fortran.org<mailto:j3-bounces at mailman.j3-fortran.org>> on behalf of John Reid via J3 <j3 at mailman.j3-fortran.org<mailto:j3 at mailman.j3-fortran.org>>
Date: Friday, September 6, 2024 at 5:55 AM
To: General J3 interest list <j3 at mailman.j3-fortran.org<mailto:j3 at mailman.j3-fortran.org>>
Cc: John Reid <john.reid9 at talktalk.net<mailto:john.reid9 at talktalk.net>>, Malcolm Cohen <malcolm at nag-j.co.jp<mailto:malcolm at nag-j.co.jp>>
Subject: [EXTERNAL] [BULK] Re: [J3] Meaning of "within a DO CONCURRENT construct"
CAUTION: This email originated from outside of NASA.  Please take care when clicking links or opening attachments.  Use the "Report Message" button to report suspicious messages to the NASA SOC.




Malcolm,

I think that no edit to the standard is needed.

C1143 (11.1.7.5 Additional semantics for DO CONCURRENT constructs) says:
"A reference to an impure procedure shall not appear within a DO
CONCURRENT construct."
This refers to the whole construct. If it had intended to refer just to
the block, it would have done so. For example, 11.1.7.4.3, para 3, uses
"The block of a DO CONCURRENT construct".

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." This is why C1143 needs to
include the header.

I hope you agree.

Cheers,

John.


Malcolm Cohen via J3 wrote:
> Hi John,
>
> You say it is clear enough, but I cannot work out from your message what you think the answer should be.
>
> The constraint does not say "within the block of a DO CONCURRENT construct", so therefore it applies to the expressions in the concurrent-header. Is that what you mean? That does appear to be what the worms say...
>
> Cheers,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.j3-fortran.org/pipermail/j3/attachments/20240906/7b62b1ae/attachment-0001.htm>


More information about the J3 mailing list