To: J3 Members J3/16-274 From: Van Snyder Subject: Comments on 15.5.4 References: 16-007r2 Date: 2016 September 30 1. Introduction --------------- The requirements on actual arguments to elemental subroutines belong in 15.8.3. It is unlikely anybody would find them in 15.5.4 without being told to look there. It is more likely they would be found in a subclause entitled "Elemental subroutine actual arguments". 2. Edits -------- [326:15-18 15.5.4p1] Delete "(15.8)". Then move the final sentence of 15.5.4p1 ("If a reference...") to the end of 15.8.3, appending it as a new paragraph after [339:5+ 15.8.3p1+]. 3. Optional alternative feature creep ------------------------------------- The requirement in 15.5.4p1 that at least one array correspond to a dummy argument with INTENT(OUT) or INTENT(INOUT) isn't necessary if the subroutine is impure. [xix Introduction under "Program units and procedures"] Insert an item "It is not necessary for an array to correspond to at least one dummy argument with INTENT(OUT) or INTENT(INOUT) in an elemental reference to an impure elemental subroutine." [326:15 15.5.4p1] Replace "an elemental" with "a pure elemental" before moving it as described above. [339:5+ 15.8.3p1+] Insert an additional paragraph after moving the last sentence of 15.5.4p1 to [339:5+ 15.8.3p1+]: "In an elemental reference to an impure elemental subroutine, every actual argument that corresponds to a dummy argument with INTENT(OUT) or INTENT(INOUT) shall be an array, and those arrays shall conform."