J3/13-256 From: Van Snyder To: J3 Date: 2013 May 21 Subject: Editorial stuff concerning CRITICAL and CONCURRENT constructs 1. The problems --------------- The constraints against using EXIT or CYCLE to leave CRITICAL or DO CONCURRENT constructs are on the EXIT and CYCLE statements (C821 and C845). The constraints against using RETURN and branch to leave CRITICAL and DO CONCURRENT constructs, and image control, are on the constructs (C810, C811, C822-C824). It would be more consistent, and more efficient, i.e., one constraint each on EXIT, CYCLE, RETURN, branching and image control instead of one constraint in each construct for each of these relationships, if the constraints were on the EXIT, CYCLE, and RETURN statements, and on branching and image control. The same arguments apply to the description of the CHANGE TEAM construct and collective subroutines in 13-251/N1967 (TS 18508 draft). The edits to 12-007 are intended not to have technical effect. One corresponding edit to 13-251/N1967 has the technical effect of addressing an oversight in 13-251/N1967: Failure to prohibit returning from a CHANGE TEAM construct. 2. Edits to 12-007 ------------------ Some of these are amended below to apply to 13-251/N1967, to encompass CHANGE TEAM constructs in TS 18508. [12-007:173:12-14 C810-C811] Delete the constraints. Their effect will reappear below in C845a, C850a, and C1269a. [12-007:173:15-16 8.1.5p2] Delete the paragraph. The first sentence is covered by 8.1.2.2p2. The second will reappear below at 188:29+. [12-007:177:36-39 C822-C824] Delete the constraints. Their effect will reappear below in C845a, C850a, and C1269a. [12-007:187:7+ 8.2.1p1+] Insert a constraint: "C845a A branch within a CRITICAL or DO CONCURRENT construct shall not have a branch target that is outside the construct." [12-007:188:29+ 8.5.1p4+] Insert a paragraph and constraint: "A procedure invoked, directly or indirectly, from within a CRITICAL or DO CONCURRENT construct, shall not execute an image control statement." {The part about DO CONCURRENT could be in a note, since it is covered by a conspiracy of C825 and C1288.} "C850a An image control statement shall not appear within a CRITICAL or DO CONCURRENT construct." [12-007:310:39+ C1269+] Insert a constraint: "C1269a A shall not appear within a CRITICAL or DO CONCURRENT construct." 3. For integration of TS 18508 ------------------------------ [13-251/N1967:9:31-32 C501] Delete the constraint. Its effect reappears as C845a, a constraint on branching rather than on the CHANGE TEAM construct. [13-251/N1967:27:3+] Insert edits to 12-007: "{After 8.2.1 Branch concepts paragraph 1, insert a constraint.} "C845a A branch within a CHANGE TEAM, CRITICAL, or DO CONCURRENT construct shall not have a branch target that is outside the construct." [13-251/N1967:28:4+] Insert a subclause and edits to 12-007: "8.5a Edits to clause 12 "{After constraint C1269 in subclause 12.6.2.7 RETURN statement, insert a constraint.} "C1269a A shall not appear within a CHANGE TEAM, CRITICAL, or DO CONCURRENT construct."