09-275 To: J3 From: Bill Long Subject: Specification expressions that are not constant Date: 2009 July 30 References: 09-007r2 Discussion: The discussion of lower and upper cobounds in the subclause describing the codimension attribute omit the case of a coarray declared in a block construct and incorrectly suggests explicit-coshape coarrays can be components. BLOCK had also not been integrated into the similar constraint for explicit-shape arrays. Finally, the wording for when specification expressions are evaluated differs between the description of automatic objects and explicit-shape arrays. Fixes are provided. ------------ Edit to 09-007r2: [88:37] In paragraph 2 of "5.2.2 Automatic data objects", after "" add " for a local variable of a subprogram or BLOCK construct". [88:38-39] In paragraph 2 of "5.2.2 Automatic data objects", replace "the procedure or BLOCK construct" with "a procedure defined by the subprogram, or on execution of the BLOCK statement,". [92:23] In the second constraint (C529) in "5.3.6.3 Explicit-coshape coarray", replace "derived type definition" with "BLOCK construct". [92:24-26] In the third paragraph in "5.3.6.3 Explicit-coshape coarray" make these two changes: Replace the first sentence with: "If an explicit-coshape coarray is a local variable of a procedure or BLOCK construct and has cobounds that are not constant expressions, the cobounds are determined at entry to the procedure, or on execution of the BLOCK statement, by evaluating the cobounds' expressions." At the end of the second sentence, after "procedure" add "or BLOCK construct". [94:16] In the first constraint (C531) of "5.3.8.2 Explicit-shape array", after "definition, " add "BLOCK construct, ".