gcc/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f
Thomas Schwinge b97e78b712 [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution
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
2015-08-10 18:48:26 +02:00

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