J3/08-156r1 To: J3 From: Van Snyder Subject: Attributes, especially the EXTERNAL attribute Date: 2008 May 12 Reference: 08-007r2 [87: 5.3.1p1] ---------------------------------------------------------- Editor: Delete this paragraph because it's just fluff (and it's incomplete and misleading if applied to the EXTERNAL attribute). [87: 5.3.1 C515] ------------------------------------------------------- This ought to be a constraint on R515 [92: 5.3.8.1] since the only attribute it constrains is the DIMENSION attribute. Editor: Move C515 to be a constraint on R515 [92: 5.3.8.1]. [94: 5.3.9p2] ---------------------------------------------------------- This should explain what the EXTERNAL attribute does, not where it's required. Editor: Replace the paragraph: "The EXTERNAL attribute for an external or dummy procedure allows it to be an actual argument (12.5.2.9) or the target of a procedure pointer assignment (7.2.2.4). The EXTERNAL attribute for a BLOCK DATA subprogram confirms that it is part of the program." Move NOTE 12.11 to here. [104: 5.4.8+] ---------------------------------------------------------- Editor: Move 12.4.3.5 to be after 5.4.8. [104: 5.4.9+] ---------------------------------------------------------- Editor: Move 12.4.3.7 to be after 5.4.9. [157: 7.2.2.2 C731] ---------------------------------------------------- Editor: To impose the same restrictions on procedure pointer targets as on actual arguments associated with dummy procedures, which we clearly intended but didn't do correctly in 5.3.9p2, add a new sentence at the end of C731: "If is the name of an external or dummy procedure, it shall have the EXTERNAL attribute." Note to J3: The parallel requirement for actual arguments is not a constraint (because it can't be). [282: 12.4.3.5p2] ------------------------------------------------------ This is now specified in 5.3.9p2. Editor: Delete the paragraph (NOTE 12.11 is moved away from here by the edit for page 94). [294: 12.5.2.9p4] ------------------------------------------------------ Editor: Simplify the paragraph: "An external procedure or dummy procedure that is used as an actual argument shall have the EXTERNAL attribute." [299: 12.5.5.1p3(3)] --------------------------------------------------- Editor: Delete "explicit".