From f4a45e0d85e51bd6550a82f31f70484c03332a4e Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Wed, 6 May 2020 10:05:49 +0200
Subject: [PATCH] 'libgomp.oacc-fortran/{error_,}stop-{1,2,3}.f': initialize
before the checkpoint
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.
(cherry picked from commit 1e378edd8f038c52914bc6cac8f6dd5a5c4f8a98)
---
libgomp/testsuite/libgomp.oacc-fortran/error_stop-1.f | 4 ++++
libgomp/testsuite/libgomp.oacc-fortran/error_stop-2.f | 4 ++++
libgomp/testsuite/libgomp.oacc-fortran/error_stop-3.f | 4 ++++
libgomp/testsuite/libgomp.oacc-fortran/stop-1.f | 4 ++++
libgomp/testsuite/libgomp.oacc-fortran/stop-2.f | 4 ++++
libgomp/testsuite/libgomp.oacc-fortran/stop-3.f | 4 ++++
6 files changed, 24 insertions(+)
@@ -3,6 +3,10 @@
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
@@ -3,6 +3,10 @@
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
@@ -3,6 +3,10 @@
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 "SiGN"
@@ -3,6 +3,10 @@
PROGRAM MAIN
IMPLICIT NONE
+! Initialize before the checkpoint, in case this produces any output.
+!$ACC PARALLEL
+!$ACC END PARALLEL
+
PRINT *, "CheCKpOInT"
!$ACC PARALLEL
STOP
@@ -3,6 +3,10 @@
PROGRAM MAIN
IMPLICIT NONE
+! Initialize before the checkpoint, in case this produces any output.
+!$ACC PARALLEL
+!$ACC END PARALLEL
+
PRINT *, "CheCKpOInT"
!$ACC PARALLEL
STOP 35
@@ -3,6 +3,10 @@
PROGRAM MAIN
IMPLICIT NONE
+! Initialize before the checkpoint, in case this produces any output.
+!$ACC PARALLEL
+!$ACC END PARALLEL
+
PRINT *, "CheCKpOInT"
!$ACC PARALLEL
STOP "SiGN"
--
2.26.2