mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-15 15:03:40 +08:00
1e378edd8f
If, for example, GCC is configured such that 'libgomp-plugin-nvptx.so.1' dynamically links against 'libcuda.so.1', but testing is run on a system where there is no 'libcuda.so.1', this produces output such as: PASS: libgomp.oacc-fortran/error_stop-1.f -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable -O0 (test for excess errors) PASS: libgomp.oacc-fortran/error_stop-1.f -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable -O0 execution test FAIL: libgomp.oacc-fortran/error_stop-1.f -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -foffload=disable -O0 output pattern test, is CheCKpOInT libgomp: while loading libgomp-plugin-nvptx.so.1: libcuda.so.1: cannot open shared object file: No such file or directory ERROR STOP Error termination. Backtrace: [...] , should match CheCKpOInT( | |^M)+ERROR STOP ( | |^M)+Error termination.* ..., where after 'CheCKpOInT' we got 'libgomp: while loading [...]' injected before the expected 'ERROR STOP'. libgomp/ * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before the checkpoint. * 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.
27 lines
797 B
Fortran
27 lines
797 B
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
|
|
STOP
|
|
!$ACC END PARALLEL
|
|
PRINT *, "WrONg WAy"
|
|
|
|
END PROGRAM MAIN
|
|
|
|
! { dg-output "CheCKpOInT(\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 } }
|