blob: 21bde854919d58e81544d1cedbb081373bbb3221 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-fopenacc" }
! { dg-require-effective-target fopenacc }
! PR fortran/78260
! Contributed by Gerhard Steinmetz
module m
implicit none
integer :: n = 0
contains
subroutine s
!$acc declare present(m) ! { dg-error "Object .m. is not a variable" }
!$acc kernels copyin(m) ! { dg-error "Object .m. is not a variable" }
n = n + 1
!$acc end kernels
end subroutine s
subroutine s2
!$acc declare present(s2) ! { dg-error "Object .s2. is not a variable" }
!$acc kernels copyin(s2) ! { dg-error "Object .s2. is not a variable" }
n = n + 1
!$acc end kernels
end subroutine s2
integer function f1()
!$acc declare present(f1) ! OK, f1 is also the result variable
!$acc kernels copyin(f1) ! OK, f1 is also the result variable
f1 = 5
!$acc end kernels
end function f1
integer function f2() result(res)
!$acc declare present(f2) ! { dg-error "Object .f2. is not a variable" }
!$acc kernels copyin(f2) ! { dg-error "Object .f2. is not a variable" }
res = 5
!$acc end kernels
end function f2
end module m