! { dg-do run } | |
program test | |
implicit none | |
real, allocatable :: a(:), b(:) | |
integer :: i | |
a = [(i, i = 1, 100)] | |
allocate(b, mold=a) | |
b = 0 | |
!$omp target simd map(to:a) map(from:b) | |
do i = 1, size(a) | |
b(i) = 5.0 * a(i) | |
end do | |
if (any (b - 5.0 *a > 10.0*epsilon(a))) stop 1 | |
!$omp target simd map(to:a) map(from:b) | |
do i = 1, size(a) | |
b(i) = 2.0 * a(i) | |
end do | |
!$omp end target simd | |
if (any (b - 2.0 *a > 10.0*epsilon(a))) stop 2 | |
end program test |