! RUN: %python %S/test_errors.py %s %flang_fc1
subroutine s1
!OK: interface followed by type with same name
interface t
end interface
type t
end type
type(t) :: x
x = t()
end subroutine
subroutine s2
!OK: type followed by interface with same name
type t
end type
interface t
end interface
type(t) :: x
x = t()
end subroutine
subroutine s3
type t
end type
interface t
end interface
!ERROR: 't' is already declared in this scoping unit
type t
end type
type(t) :: x
x = t()
end subroutine
module m4
type t1
class(t2), pointer :: p => null()
end type
type t2
end type
interface t2
procedure ctor
end interface
contains
function ctor()
type(t2) ctor
end function
end module