| ! { dg-do compile } |
| ! { dg-options "-fopenacc -fdump-tree-original" } |
| ! { dg-require-effective-target fopenacc } |
| |
| ! PR fortran/78260 |
| |
| ! Loosely related to PR fortran/94120 |
| |
| module m |
| implicit none |
| integer :: n = 0 |
| contains |
| integer function f1() |
| !$acc declare present(f1) |
| !$acc kernels copyin(f1) |
| f1 = 5 |
| !$acc end kernels |
| end function f1 |
| integer function g1() result(g1res) |
| !$acc declare present(g1res) |
| !$acc kernels copyin(g1res) |
| g1res = 5 |
| !$acc end kernels |
| end function g1 |
| end module m |
| ! { dg-final { scan-tree-dump-times "#pragma acc data map\\(force_present:__result_f1\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma acc kernels map\\(to:__result_f1\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma acc data map\\(force_present:g1res\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma acc kernels map\\(to:g1res\\)" 1 "original" } } |