| ! { 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 "can not 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 |