gcc/libgomp/testsuite/libgomp.oacc-fortran/stop-3.f
Thomas Schwinge 6e0d40b6f8 PR85463 '[nvptx] "exit" in offloaded region doesn't terminate process'
libgomp/
	PR libfortran/85166
	* testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
	abort".
	* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.

	libgfortran/
	PR libfortran/85166
	PR libgomp/85463
	* runtime/minimal.c (stop_numeric): Reimplement.
	(stop_string, error_stop_string, error_stop_numeric): New
	functions.
	libgomp/
	PR libgomp/85463
	* testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
	* testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
	* testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
	* testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
	* testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
	* testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.

From-SVN: r259491
2018-04-19 10:53:38 +02:00

24 lines
740 B
Fortran

! { dg-do run }
PROGRAM MAIN
IMPLICIT NONE
PRINT *, "CheCKpOInT"
!$ACC PARALLEL
STOP "SiGN"
!$ACC END PARALLEL
PRINT *, "WrONg WAy"
END PROGRAM MAIN
! { dg-output "CheCKpOInT(\n|\r\n|\r)+" }
! { dg-output "STOP SiGN(\n|\r\n|\r)+" }
! PR85463. The "minimal" libgfortran implementation used with nvptx
! offloading is a little bit different.
! { dg-output "libgomp: cuStreamSynchronize error.*" { target openacc_nvidia_accel_selected } }
! { dg-output "$" }
! PR85463. STOP with code zero (as implied here) should actually
! terminate the process normally, but doesn't in the "minimal"
! libgfortran implementation used with nvptx offloading.
! { dg-shouldfail "" { openacc_nvidia_accel_selected } }