1! { dg-do compile } 2 3! PR fortran/78260 4 5module m 6 implicit none 7 integer :: n = 0 8contains 9 subroutine s 10 !$omp target data map(m) ! { dg-error "Object .m. is not a variable" } 11 !$omp target update to(m) ! { dg-error "Object .m. is not a variable" } 12 n = n + 1 13 !$omp end target data 14 end subroutine s 15 subroutine s2 16 !$omp target data map(s2) ! { dg-error "Object .s2. is not a variable" } 17 !$omp target update to(s2) ! { dg-error "Object .s2. is not a variable" } 18 n = n + 1 19 !$omp end target data 20 end subroutine s2 21 integer function f1() 22 !$omp target data map(f1) ! OK, f1 is also the result variable 23 !$omp target update to(f1) ! OK, f1 is also the result variable 24 f1 = 5 25 !$omp end target data 26 end function f1 27 integer function f2() result(res) 28 !$omp target data map(f2) ! { dg-error "Object .f2. is not a variable" } 29 !$omp target update to(f2) ! { dg-error "Object .f2. is not a variable" } 30 res = 5 31 !$omp end target data 32 end function f2 33end module m 34