https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45521
--- Comment #16 from janus at gcc dot gnu.org --- (In reply to janus from comment #15) > > Interpretation request F08/0001 / 10-145 changes this ("EDITS to 10-007")" > > > > '[286:4] In 12.4.3.4.5p3, after "the other has the POINTER attribute", > > Insert "and not the INTENT(IN) attribute".' > > Cf. http://j3-fortran.org/doc/meeting/193/10-199.txt > > Unfortunately this was forgotten in the above commit. To do! That is, we need to reject this example, because both interfaces are compatible with the call (i.e. they are not distinguishable): INTERFACE gen SUBROUTINE suba(a) REAL,ALLOCATABLE :: a(:) END SUBROUTINE SUBROUTINE subp(p) REAL,POINTER,INTENT(IN) :: p(:) END SUBROUTINE END INTERFACE REAL,ALLOCATABLE,TARGET :: x(:) ALLOCATE(x(100)) CALL gen(x) end For the explanation see the link above.