To: J3 J3/22-206 From: Malcolm Cohen Subject: Specification inquiry dependence Reference: J3/22-204 Date: 2022-October-26 1. Introduction This is a development of, and response to, paper 22-204. 2. Problems and answers [166] 10.1.11 Specification expression, p7, 1st sentence, says "If a specification expression includes a specification inquiry that depends on a type parameter, array bound, or cobound of an entity specified in the same specification-part, the type parameter, array bound, or cobound shall be specified in a prior specification of the specification-part." This omits type, but there is a specification inquiry that depends only on the type when it is a derived type with no type parameters: STORAGE_SIZE. For example Integer :: x(Storage_Size(y)) Type t Real c End Type Type(t) y There is no dependence that triggers the "prior specification" requirement, other than the avoidance of nonsense. This needs to be corrected - an edit appears below. Paper 22-204 went on to suggest that "it does not account for implicit declarations". Actually, it does. The type of an entity that is implicitly typed is specified by the IMPLICIT statement (if there is one), or the lack of an IMPLICIT statement (if there is not), and IMPLICIT statements appear prior to other specification statements. 3. Edit to N2209 [166] 10.1.11 Specification expression, p7, first sentence, change "a type parameter, array bound, or cobound" to "the type, a type parameter, an array bound, or a cobound", and change "the type parameter" to "the type, type parameter", Making that whole first sentence read "If a specification expression includes a specification inquiry that depends on the type, a type parameter, an array bound, or a cobound of an entity specified in the same specification-part, the type, type parameter, array bound, or cobound shall be specified in a prior specification of the specification-part." ===END===