[J3] US13. Put with Notify.

John Reid John.Reid at stfc.ac.uk
Tue Sep 21 19:23:33 UTC 2021


Dear all,

I think I have found two glitches associated with US 13. Here is a draft 
paper. Any comments? I plan to put it on the web site at the end of this 
week.

Cheers,

John

-------------- next part --------------
To: J3                                                     J3/21-xxx
From: John Reid
Subject: US 13, Put with Notify
Date: 2021-September-21
Reference: 21-007r2

Discussion
----------

I think I have found two glitches associated with US 13. 

[211:1-4] 11.6, para 5 says
"Execution of an assignment statement whose variable has a NOTIFY= 
specifier is initially unsatisfied. Successful execution of a 
NOTIFY WAIT statement with a threshold value of k satisfies the 
first k unsatisfied executions of assignment statements whose 
NOTIFY= specifier specifies the same notify variable as the 
NOTIFY WAIT statement." 

This is clearly modeled on para 5 of 11.7.8 which says
"An EVENT POST statement execution is initially unsatisfied. Successful 
execution of an EVENT WAIT statement with a threshold of k satisfies 
the first k unsatisfied EVENT POST statement executions for that event 
variable. This EVENT WAIT statement execution causes the segment 
following the EVENT WAIT statement execution to succeed the segments 
preceding those k EVENT POST statement executions."

This is needed for events because it affects the segment ordering. As 
far as I can see, it does nothing for NOTIFY. I suggest that it be 
deleted.

The second glitch lies in C1612 which says
"A named variable with declared type NOTIFY_TYPE shall be a coarray. 
A named variable with a potential subobject component of 
type NOTIFY_TYPE shall be a coarray."

This is modeled on C1604 which says
"A named variable with declared type EVENT_TYPE shall be a coarray. 
A named variable with a noncoarray potential subobject component of 
type EVENT_TYPE shall be a coarray."

The important adjective "noncoarray" is missing from the second 
sentence of C1612. It is important because we should allow a noncoarray 
variable that has a coarray potential subobject component of type 
EVENT_TYPE. 


Edits to 21-007r2
-----------------

[211:1-4] In 11.6, NOTIFY WAIT statement, delete para 5:
"Execution of an assignment statement whose variable has a NOTIFY= 
specifier is initially unsatisfied. Successful execution of a 
NOTIFY WAIT statement with a threshold value of k satisfies the 
first k unsatisfied executions of assignment statements whose 
NOTIFY= specifier specifies the same notify variable as the 
NOTIFY WAIT statement." 

[456:37] In 16.10.2.22 NOTIFY_TYPE, C1612, second sentence, add 
"noncoarray" before "potential" o make the sentence read
"A named variable with a noncoarray potential subobject component of 
type NOTIFY_TYPE shall be a coarray."


More information about the J3 mailing list