J3/15-252 To: J3 From: Bill Long Subject: Restriction on LOCK_TYPE Date: 2015 October 15 Reference: J3/15-007r2 Discussion ---------- A lock variable is allowed to be an allocate object in an ALLOCATE statement according to constraint C1306 [415:16]. There is a prohibition on the use of such a variable in a SOURCE= specifier of an ALLOCATE statement in C643 [129:10-12]. The corresponding rules for event variables are together in the same constraint, C1303 [413:32-33]. The restriction on use in a SOURCE= specifier better belongs in Clause 6 in a constraint on the syntax rule for ALLOCATE. Separately, in 6.7.1.1 Form of the ALLOCATE statement, para 4, there is a similar restriction that variables with dynamic type LOCK_TYPE are not allowed in a SOURCE= specifier. EVENT_TYPE needs to be included there. Edits are provided to address these issues. Edits to 15-007r2: ------------------ [129:11-12] In C643 (The declared type of ...) in 6.7.1.1 Form of the ALLOCATE statement, change "LOCK_TYPE" to "EVENT_TYPE or LOCK_TYPE" twice. [129:22-23] In 6.7.1.1 Form of the ALLOCATE statement, para 4, change "LOCK_TYPE" to "EVENT_TYPE or LOCK_TYPE" twice. [413:32-33] In the second constraint (C1303) in 13.9.2.9 EVENT_TYPE, change "as an in an ALLOCATE statement without a SOURCE= specifier, as an in a DEALLOCATE statement" to "as an ". {Move the prohibition for an event variable appearing in a SOURCE= specifier from C1303 to Clause 6.}