d66463eedc
As with use-associated symbols, copy the attributes and flags from the original symbol onto host-associated symbols when they are created. This was showing up as an error on a deallocate of a host-associated name. We reported an error because the symbol didn't have the POINTER or ALLOCATABLE attribute. Differential Revision: https://reviews.llvm.org/D85763
26 lines
520 B
Fortran
26 lines
520 B
Fortran
! RUN: %S/test_errors.sh %s %t %f18
|
|
|
|
! Test deallocate of use- and host-associated variables
|
|
module m1
|
|
real, pointer :: a(:)
|
|
real, allocatable :: b(:)
|
|
end
|
|
|
|
subroutine s1()
|
|
use m1
|
|
complex, pointer :: c(:)
|
|
complex, allocatable :: d(:)
|
|
complex :: e(10)
|
|
deallocate(a)
|
|
deallocate(b)
|
|
contains
|
|
subroutine s2()
|
|
deallocate(a)
|
|
deallocate(b)
|
|
deallocate(c)
|
|
deallocate(d)
|
|
!ERROR: name in DEALLOCATE statement must have the ALLOCATABLE or POINTER attribute
|
|
deallocate(e)
|
|
end subroutine
|
|
end
|