! RUN: %python %S/test_errors.py %s %flang_fc1
module m1
type :: t
end type
contains
pure subroutine s1(x)
class(t), intent(in out) :: x
call s2(x)
call s3(x)
end subroutine
pure subroutine s2(x)
class(t), intent(in out) :: x
!ERROR: Left-hand side of assignment may not be polymorphic unless assignment is to an entire allocatable
!ERROR: Left-hand side of assignment is not definable
!BECAUSE: 'x' is polymorphic in a pure subprogram
x = t()
end subroutine
pure subroutine s3(x)
!ERROR: An INTENT(OUT) dummy argument of a pure subroutine may not be polymorphic
class(t), intent(out) :: x
end subroutine
end module