blob: 6e3b8585058fa20962b733aef3bcc082f48ca278 [file] [log] [blame]
! { dg-do compile }
!
! Clean up, made when working on PR fortran/52864
!
! Test some PURE and intent checks - related to pointers.
module m
type t
end type t
integer, pointer :: x
class(t), pointer :: y
end module m
pure subroutine foo()
use m
call bar(x) ! { dg-error "cannot appear in a variable definition context" }
call bar2(x) ! { dg-error "is local to a PURE procedure and has the POINTER attribute" }
call bb(y) ! { dg-error "is local to a PURE procedure and has the POINTER attribute" }
contains
pure subroutine bar(x)
integer, pointer, intent(inout) :: x
end subroutine
pure subroutine bar2(x)
integer, pointer :: x
end subroutine
pure subroutine bb(x)
class(t), pointer, intent(in) :: x
end subroutine
end subroutine