To: J3 J3/14-245 From: Van Snyder Subject: Simplify description of attributes of associate names Date: 2014 October 03 References: 14-007r2 1. Introduction =============== By enumerating the attributes of associating entities, we missed some, e.g., at least PROTECTED. 2. Edits ======== [173:32-33 8.3.3.2p1] Delete "The associating ... polymorphic." [173:34 8.3.3.2p2] Delete the paragraph; all attributes are now either described under the rubric "Attributes of associate names," or a reference is given there. [173:2-8 8.1.3.3p1] Replace the paragraph with "Within an ASSOCIATE or SELECT TYPE construct, each associating entity has the same attributes as the associated selector, with the following exceptions: o within an ASSOCIATE construct, the associating entity is polymorphic if and only if the selector is polymorphic, o whether the associating entity in a SELECT TYPE construct is polymorphic is specified in 8.1.9.2, o the associating entity does not have the OPTIONAL, POINTER, or ALLOCATABLE attribute, and o if the selector has the POINTER attribute, the associating entity has the TARGET attribute." {This covers rank, corank, declared type, polymorphism, kind type parameters and their values, length type parameters, INTENT, PROTECTED, TARGET, ASYNCHRONOUS, VOLATILE, ..., but not bounds, cobounds, dynamic type, or length type parameter values.} "The bounds of each dimension of the associating entity are [the same as?] those of the selector. The cobounds of each codimension of the associating entity are [the same as?] those of the selector. The length type parameter values of the associating entity are [the same as?] those of the selector. If the selector is a pointer it shall be associated with a target and the associating entity is that target. If the selector is allocatable it shall be allocated. If the associating entity is polymorphic, it assumes the dynamic type, type parameters, and type parameter values of the selector. If the selector has the OPTIONAL argument it shall be present. The associating entity is contiguous if and only if the selector is contiguous." {The first sentence of the above paragraph is different from the original. If it is defective, then so is the second, which was copied verbatim from 8.1.3.3p1. In the antepenultimate sentence, the phrase "type parameter values" has been added to the original one from 8.1.3.3p1. The last two sentences are copied verbatim from 8.1.3.3p1, in the same order they appear there.} {The sentences "The length type parameter values of the associating entity are those of the selector. If the selector is a pointer it shall be associated with a target and the associating entity is that target. If the selector is allocatable it shall be allocated." are new. Should this be the subject of an interpretation?} {The deleted sentences concerning ASYNCHRONOUS, VOLATILE, and TARGET attributes said "if and only if the selector is a variable and has the attribute," which boils down to "if and only if TRUE and the selector has the attribute," because the syntax admits only variables.}