8sa1-gcc/libgomp/testsuite/libgomp.fortran/examples-4/device-1.f90
Tobias Burnus c425e66b27 libgomp/testsuite – use 'stop'
libgomp/
	* testsuite/libgomp.fortran/: Replace 'STOP' by 'stop'.

From-SVN: r277609
2019-10-30 12:44:54 +01:00

57 lines
1.2 KiB
Fortran

! { dg-do run }
! { dg-require-effective-target offload_device_nonshared_as }
program e_57_1
use omp_lib, only: omp_is_initial_device
integer :: a, b
logical :: c, d
a = 100
b = 0
!$omp target map(from: c) if(a > 200 .and. a < 400)
c = omp_is_initial_device ()
!$omp end target
!$omp target data map(to: b) if(a > 200 .and. a < 400)
!$omp target map(from: b, d)
b = 100
d = omp_is_initial_device ()
!$omp end target
!$omp end target data
if (b /= 100 .or. .not. c .or. d) stop 1
a = a + 200
b = 0
!$omp target map(from: c) if(a > 200 .and. a < 400)
c = omp_is_initial_device ()
!$omp end target
!$omp target data map(to: b) if(a > 200 .and. a < 400)
!$omp target map(from: b, d)
b = 100
d = omp_is_initial_device ()
!$omp end target
!$omp end target data
if (b /= 0 .or. c .or. d) stop 2
a = a + 200
b = 0
!$omp target map(from: c) if(a > 200 .and. a < 400)
c = omp_is_initial_device ()
!$omp end target
!$omp target data map(to: b) if(a > 200 .and. a < 400)
!$omp target map(from: b, d)
b = 100
d = omp_is_initial_device ()
!$omp end target
!$omp end target data
if (b /= 100 .or. .not. c .or. d) stop 3
end program