b97e78b712
gcc/ * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit open-coded sequence. * omp-low.c (oacc_process_reduction_data): Remove handline of GOMP_DEVICE_HOST_NONSHM. gcc/testsuite/ * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C. include/ * gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove. libgomp/ * libgomp-plugin.h (enum offload_target_type): Remove OFFLOAD_TARGET_TYPE_HOST_NONSHM. * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. * openacc.h (enum acc_device_t): Likewise. * openacc_lib.h: Likewise. * oacc-init.c (name_of_acc_device_t): Don't handle it. (acc_on_device): Just use __builtin_acc_on_device. * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage of acc_on_device builtin. * plugin/plugin-host.h: Remove file. * plugin/plugin-host.c: Likewise, but salvage some content into... * oacc-host.c: ... this file. * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. * Makefile.in: Regenerate. * configure: Likewise. * testsuite/lib/libgomp.exp (check_effective_target_openacc_host_nonshm_selected): Remove. * testsuite/libgomp.oacc-c++/c++.exp: Don't handle ACC_DEVICE_TYPE=host_nonshm. * testsuite/libgomp.oacc-c/c.exp: Likewise. * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. From-SVN: r226763
46 lines
1.2 KiB
Fortran
46 lines
1.2 KiB
Fortran
! { dg-additional-options "-cpp" }
|
|
! TODO: Have to disable the acc_on_device builtin for we want to test
|
|
! the libgomp library function? The command line option
|
|
! '-fno-builtin-acc_on_device' is valid for C/C++/ObjC/ObjC++ but not
|
|
! for Fortran.
|
|
|
|
USE OPENACC
|
|
IMPLICIT NONE
|
|
|
|
!Host.
|
|
|
|
IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT
|
|
IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT
|
|
|
|
|
|
!Host via offloading fallback mode.
|
|
|
|
!$ACC PARALLEL IF(.FALSE.)
|
|
IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT
|
|
IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT
|
|
!$ACC END PARALLEL
|
|
|
|
|
|
#if !ACC_DEVICE_TYPE_host
|
|
|
|
! Offloaded.
|
|
|
|
!$ACC PARALLEL
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT
|
|
IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT
|
|
#if ACC_DEVICE_TYPE_nvidia
|
|
IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT
|
|
#else
|
|
IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT
|
|
#endif
|
|
!$ACC END PARALLEL
|
|
|
|
#endif
|
|
|
|
END
|