1! { dg-do run } 2! { dg-additional-options "-cpp" } 3! 4! TODO: Have to disable the acc_on_device builtin for we want to test 5! the libgomp library function? The command line option 6! '-fno-builtin-acc_on_device' is valid for C/C++/ObjC/ObjC++ but not 7! for Fortran. 8 9 USE OPENACC 10 IMPLICIT NONE 11 12!Host. 13 14 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) STOP 1 15 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) STOP 2 16 IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) STOP 3 17 IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) STOP 4 18 19 20!Host via offloading fallback mode. 21 22!$ACC PARALLEL IF(.FALSE.) 23 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) STOP 5 24 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) STOP 6 25 IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) STOP 7 26 IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) STOP 8 27!$ACC END PARALLEL 28 29 30#if !ACC_DEVICE_TYPE_host 31 32! Offloaded. 33 34!$ACC PARALLEL 35 IF (ACC_ON_DEVICE (ACC_DEVICE_NONE)) STOP 9 36 IF (ACC_ON_DEVICE (ACC_DEVICE_HOST)) STOP 10 37 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) STOP 11 38#if ACC_DEVICE_TYPE_nvidia 39 IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) STOP 12 40#else 41 IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) STOP 13 42#endif 43!$ACC END PARALLEL 44 45#endif 46 47 END 48