! { dg-do compile }
! { dg-options "-std=f2008" }
!
! PR fortran/94104
!

program diag_p
  implicit none

  integer, parameter :: n = 7

  integer         :: a(n)
  integer, target :: b(n)

  a = 1
  print *, sumf(a) ! { dg-error "Actual argument for 'a' at .1. must be a pointer or a valid target" }
  print *, sumf(b)

contains

  function sumf(a) result(s)
    integer, pointer, intent(in) :: a(:)

    integer :: s

    s = sum(a)
  end function sumf

end program diag_p