OpenACC acc_on_device.
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-fortran / acc_on_device-1-2.f
blob3787e1ec9fff5e16b2d9fe0c0359b0f6c504effd
1 ! TODO: Remove -DACC_DEVICE_TYPE_host once that is set by the test harness.
2 ! { dg-additional-options "-cpp -DACC_DEVICE_TYPE_host" }
3 ! TODO: Have to disable the acc_on_device builtin for we want to test
4 ! the libgomp library function? The command line option
5 ! '-fno-builtin-acc_on_device' is valid for C/C++/ObjC/ObjC++ but not
6 ! for Fortran.
8 USE OPENACC
9 IMPLICIT NONE
11 !Host.
13 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT
14 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT
15 IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT
18 !Host via offloading fallback mode.
20 !$ACC PARALLEL IF(.FALSE.)
21 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT
22 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT
23 IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT
24 !$ACC END PARALLEL
27 #if !ACC_DEVICE_TYPE_host
29 ! Offloaded.
31 !$ACC PARALLEL
32 IF (ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT
33 IF (ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT
34 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT
35 !$ACC END PARALLEL
37 #endif
39 END