32 lines
1.1 KiB
Fortran
32 lines
1.1 KiB
Fortran
! RUN: %python %S/test_errors.py %s %flang_fc1
|
|
|
|
module m
|
|
type t1
|
|
end type
|
|
type t2
|
|
class(t2), allocatable :: pc
|
|
end type
|
|
class(t1), pointer :: mp1
|
|
type(t2) :: mv1
|
|
contains
|
|
pure subroutine subr(pp1, pp2, mp2)
|
|
class(t1), intent(in out), pointer :: pp1
|
|
class(t2), intent(in out) :: pp2
|
|
type(t2), pointer :: mp2
|
|
!ERROR: Name in DEALLOCATE statement is not definable
|
|
!BECAUSE: 'mp1' may not be defined in pure subprogram 'subr' because it is host-associated
|
|
deallocate(mp1)
|
|
!ERROR: Name in DEALLOCATE statement is not definable
|
|
!BECAUSE: 'mv1' may not be defined in pure subprogram 'subr' because it is host-associated
|
|
deallocate(mv1%pc)
|
|
!ERROR: Object in DEALLOCATE statement is not deallocatable
|
|
!BECAUSE: 'pp1' is polymorphic in a pure subprogram
|
|
deallocate(pp1)
|
|
!ERROR: Object in DEALLOCATE statement is not deallocatable
|
|
!BECAUSE: 'pc' is polymorphic in a pure subprogram
|
|
deallocate(pp2%pc)
|
|
!ERROR: Object in DEALLOCATE statement is not deallocatable
|
|
!BECAUSE: 'mp2' has polymorphic component '%pc' in a pure subprogram
|
|
deallocate(mp2)
|
|
end subroutine
|
|
end module
|