! { dg-do compile }
! { dg-options "-std=f2003" }
! { dg-shouldfail "Invalid code" }
!
! Pointer intent test
! PR fortran/29624
!
! Valid program
program test
 implicit none
 type myT
    integer :: j = 5
    integer, pointer :: jp => null()
 end type myT
 integer, pointer :: p
 type(myT) :: t
 call a(p)
 call b(t)
contains
  subroutine a(p)
    integer, pointer,intent(in) :: p
    p => null(p)! { dg-error "pointer association context" }
    nullify(p)  ! { dg-error "pointer association context" }
    allocate(p) ! { dg-error "pointer association context" }
    call c(p)   ! { dg-error "pointer association context" }
    deallocate(p) ! { dg-error "pointer association context" }
  end subroutine
  subroutine c(p)
    integer, pointer, intent(inout) :: p
    nullify(p)
  end subroutine c
  subroutine b(t)
    type(myT),intent(in) :: t
    t%jp = 5
    t%jp => null(t%jp)  ! { dg-error "pointer association context" }
    nullify(t%jp) ! { dg-error "pointer association context" }
    t%j = 7 ! { dg-error "variable definition context" }
    allocate(t%jp) ! { dg-error "pointer association context" }
    deallocate(t%jp) ! { dg-error "pointer association context" }
  end subroutine b
end program
