09-275r1 To: J3 From: Bill Long Subject: Specification expressions that are not constant Date: 2009 August 11 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 subprogram or BLOCK construct and has cobounds that are not constant expressions, the cobounds are determined on entry to a procedure defined by the subprogram, 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, ".