strange error with interface to parameterized derived type

NightStrike nightstrike@gmail.com
Fri Apr 26 18:07:00 GMT 2019


module a
    implicit none
    type :: T(n)
        integer, len :: n
        real :: r
    end type

    interface
        subroutine sub(x)
                import T
                type(T(*)) :: x
        end subroutine
    end interface
end module

$ gfortran -c a.f90
a.f90:11:26:

                 type(T(*)) :: x
                          1
Error: Derived type 'pdtt' at (1) is being used before it is defined


Where does the prefix "pdt" come from?  And should the above code work?



More information about the Fortran mailing list