To: J3 J3/16-172r2 From: Steve Lionel & Malcolm Cohen Subject: Missing constraint from GENERIC statement Date: 2016 June 06 Reference: 16-007r1 1. Introduction Fortran 2015 adds the GENERIC statement as an alternative to using interface blocks for declaring generic interfaces. 12.4.3.2 (Interface block) includes a constraint prohibiting naming a specific procedure more than once: C1209 (R1201) An interface-specification in a generic interface block shall not specify a procedure that was specified previously in any accessible interface with the same generic identifier. but 12.4.3.3 (GENERIC statement) lacks a corresponding constraint. A correction is supplied below. 2. Discussion This is not really a technical change, as p1 of 12.4.3.3 says it specifies the generic interface "in the same way as a generic interface block", which does have this restriction, thus the text is currently contradictory. 3. EDIT to 16-07r1 [298:4+, 12.4.3.3] Insert the constraint: "C1209+ (R1210) A in a GENERIC statement shall not specify a procedure that was specified previously in any accessible interface with the same generic identifier." {Comment: Both the GENERIC statement and the generic interface block specify generic interfaces, see 12.4.3.5.} ===END===