https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47805

--- Comment #7 from janus at gcc dot gnu.org ---
Another very related case that gfortran currently accepts, although it is
invalid according to the interpretation request:


module m1
   implicit none

   type, abstract :: t1
   contains
      procedure(ifc), deferred, private :: tbp
   end type

   abstract interface
      subroutine ifc(arg)
         import :: t1
         class(t1) :: arg
      end subroutine
   end interface

end module


module m2
   use m1
   implicit none

   type, extends(t1) :: t2
   contains
      procedure :: tbp => tbp_t2
   end type

contains

   subroutine tbp_t2(arg)
      class(t2) :: arg
      print *, "this is t2!"
   end subroutine

end module


program test
   use m2
   implicit none

   type(t2) :: x
   call x%tbp()
end


It is correctly rejected by ifort 18.

Reply via email to