To: J3 J3/10-123r1 From: Van Snyder Subject: Editorial Suggestion Date: 2010 February 15 Discussion: ----------- In 12.5.2.13 we have a list with two items. Each item begins with a discussion of restrictions on the allocation status. Then the item continues with restrictions related to the value of the item, which part has subitems. With the current structure, it appears that the subitems apply to the entire item, when in fact they only apply to the second sentence in the item -- the one about the value. It would be clearer to divide each of the top-level items into two items, one about allocation status and one about value. Notes 12.34, 12.35 and 12.36 appear between items (1) and item (2), but only make sense after one reads item (2). Note 12.37 doesn't contribute anything. Edits to J3/09-007r3: --------------------- [300:4 12.5.2.13p1(1)]-------------------------------------------------- Divide the top-level item into two items, between "dummy argument." and "Action". [301:3 12.5.2.13p1(2)]-------------------------------------------------- Divide the top-level item into two items, between "dummy argument." and "If". Then exchange what are now the second and third list items. [301 Notes 12.34, 12.35, 12.36]----------------------------------------- Move Notes 12.34, 12.35 and 12.36 to [301:11+], since their substance depends upon item (2) in the list. [301 Note 12.37]-------------------------------------------------------- Delete Note 12.37, since it doesn't say anything new, and nothing informative in the context where it appears. The result of the first two edits is (1) Action that affects the allocation status of the entity or a subobject thereof shall be taken through the dummy argument. (2) If the allocation status of the entity or a subobject thereof is affected through the dummy argument, then at any time during the invocation and execution of the procedure, either before or after the allocation or deallocation, it shall be referenced only through the dummy argument. (3) Action that affects the value of the entity or any subobject of it shall be taken only through the dummy argument unless (a) the dummy argument has the POINTER attribute or (b) the dummy argument has the TARGET attribute, the dummy argument does not have INTENT (IN), the dummy argument is a scalar object or an assumed-shape array without the CONTIGUOUS attribute, and the actual argument is a target other than an array section with a vector subscript. (4) If the value of the entity or any subobject of it is affected through the dummy argument, then at any time during the invocation and execution of the procedure, either before or after the definition, it may be referenced only through that dummy argument unless (a) the dummy argument has the POINTER attribute or (b) the dummy argument has the TARGET attribute, the dummy argument does not have INTENT (IN), the dummy argument is a scalar object or an assumed-shape array without the CONTIGUOUS attribute, and the actual argument is a target other than an array section with a vector subscript.