To: J3 J3/26-167 Subject: Correction to LOCK_TYPE C1714 From: Dan Bonachea Date: 2026-June-11 References: 25-202r3, 26-125r1, 26-007r1 1. Background ------------- While integrating edit paper 25-202r3, the Editor reported in 26-125r1 that he noticed some incorrect wording in new constraint C1706 for COMPLETION_TYPE that had been copied from C1710 in the EVENT_TYPE subclause. The Editor proactively fixed the corresponding constraint wording in those two subclauses, and also the analogous constraint C1718 that appears in the NOTIFY_TYPE subclause. However, he missed fixing the wording that appears in analogous constraint C1714 in the LOCK_TYPE subclause. 2. Edits -------- ------------------------------------------------------------------------- [556:31-33] 17.10.2.21 LOCK_TYPE In C1714, replace the word: "subobject" with the phrase: "potential subobject component" and after the word: "*allocate-object*" insert the words: "in an ALLOCATE statement without a SOURCE= specifier, as an *allocate-object* in a DEALLOCATE statement," such that the entire constraint reads: "C1714 A variable with a potential subobject component of type LOCK_TYPE shall not appear in a variable definition context except as an *allocate-object* in an ALLOCATE statement without a SOURCE= specifier, as an *allocate-object* in a DEALLOCATE statement, or as an actual argument in a reference to a procedure with an explicit interface where the corresponding dummy argument has INTENT (INOUT)." ------------------------------------------------------------------------- 3. Aside -------- It's worth noting that the second insertion above is technically redundant with constraint C956 for R930 (*allocate-stmt*), which reads: "C956 (R930) If SOURCE= appears, the declared type of *source-expr* shall not be COMPLETION_TYPE, EVENT_TYPE, LOCK_TYPE, or NOTIFY_TYPE from the intrinsic module ISO_FORTRAN_ENV, or have a potential subobject component that is a coarray or of type COMPLETION_TYPE, EVENT_TYPE, LOCK_TYPE, or NOTIFY_TYPE." However for consistency reasons, the redundant wording should either appear in all four analogous constraints (C1706, C1710, C1714, C1718), or in none of them. ===END===