
..., in order to enable (portions of) Fortran I/O, for example. libgfortran/ * configure.ac: No longer set 'LIBGFOR_MINIMAL' for nvptx. * configure: Regenerate. libgomp/ * libgomp.texi (nvptx): Update. * testsuite/libgomp.fortran/target-print-1-nvptx.f90: Remove. * testsuite/libgomp.fortran/target-print-1.f90: Adjust. * testsuite/libgomp.oacc-fortran/error_stop-2-nvptx.f: New. * testsuite/libgomp.oacc-fortran/error_stop-2.f: Adjust. * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Adjust. * testsuite/libgomp.oacc-fortran/print-1.f90: Adjust. * testsuite/libgomp.oacc-fortran/stop-2-nvptx.f: New. * testsuite/libgomp.oacc-fortran/stop-2.f: Adjust. Co-authored-by: Andrew Stubbs <ams@gcc.gnu.org>
32 lines
1 KiB
Fortran
32 lines
1 KiB
Fortran
! { dg-do run }
|
|
|
|
PROGRAM MAIN
|
|
IMPLICIT NONE
|
|
|
|
! Initialize before the checkpoint, in case this produces any output.
|
|
!$ACC PARALLEL
|
|
!$ACC END PARALLEL
|
|
|
|
PRINT *, "CheCKpOInT"
|
|
!$ACC PARALLEL
|
|
ERROR STOP 35
|
|
!$ACC END PARALLEL
|
|
PRINT *, "WrONg WAy"
|
|
|
|
END PROGRAM MAIN
|
|
|
|
! { dg-output "CheCKpOInT(\n|\r\n|\r)+" }
|
|
|
|
! See 'error_stop-2-nvptx.f' regarding the nvptx offloading XFAIL.
|
|
! { dg-output "ERROR STOP 35(\n|\r\n|\r)+" { xfail openacc_nvidia_accel_selected } }
|
|
!
|
|
! In gfortran's main program, libfortran's set_options is called - which sets
|
|
! compiler_options.backtrace = 1 by default. For an offload libgfortran, this
|
|
! is never called and, hence, "Error termination." is never printed. Thus:
|
|
! { dg-output "Error termination.*" { target { ! { openacc_nvidia_accel_selected || openacc_radeon_accel_selected } } } }
|
|
|
|
! PR85463. The 'exit' implementation used with nvptx
|
|
! offloading is a little bit different.
|
|
! { dg-output "libgomp: cuStreamSynchronize error.*" { target openacc_nvidia_accel_selected } }
|
|
|
|
! { dg-shouldfail "" }
|