9 August 2005 J3/05-210r1 Subject : First draft of edits to allow POINTER function results as actual arguments From: Van Snyder References: WG5/N1626-UK-007 1. Detailed specification Allow a function result that has the POINTER attribute to be an actual argument corresponding to a dummy argument that does not have the POINTER attribute, even if the dummy argument does not have INTENT(IN), provided the function result is associated with a target. The target of the function result becomes argument associated with the dummy argument. 2. Syntax There is no new syntax. 3. Edits [81:35] In the fourth paragraph after C546 -- the one that begins "If no INTENT..." -- replace "associated actual argument" by "argument associated entity". [268:1-15] In the first paragraph of 12.4.1, use "correspond" in the appropriate form instead of "associate". In detail: Replace "is associated with" by "corresponds to" at [268:5], [268:7-8], [268:9], and [268:10]. Replace "be associated with" by "correspond to" at [268:13], [268:14], and [268:15]. Then add a new paragraph: "Except in references to intrinsic inquiry functions, if the dummy argument is not a pointer and the corresponding actual argument is a pointer, the actual argument shall be pointer associated with a target and the dummy argument becomes argument associated with that target. Otherwise the dummy argument becomes argument associated with the corresponding actual argument. [269:20-22] Delete the paragraph that begins "Except in references to intrinsic inquiry functions...." [270:38-39] In the paragraph that begins "If a nonpointer dummy argument has INTENT(OUT)..." replace "actual argument" by "argument associated entity" and replace "corresponding actual argument by "argument associated entity". [418:16-17] Replace the first sentence of the second paragraph of 16.4.5 Establishing associations -- the one that begins "For argument association..." -- by "For argument association, if the dummy argument is not a pointer and the corresponding actual argument is a pointer, the corresponding actual argument shall be pointer associated with a target and the pre-existing entity is that target. Otherwise the pre-existing entity is the corresponding actual argument. In either case, the associating entity is the dummy argument."