public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
       [not found] <54FF0C91.8020307@mentor.com>
@ 2015-04-30 13:17 ` Thomas Schwinge
  2015-05-04  8:34   ` [PR testsuite/65205, libgomp/65993] " Thomas Schwinge
  2015-08-14 11:16   ` Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  0 siblings, 2 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-04-30 13:17 UTC (permalink / raw)
  To: gcc-patches; +Cc: James Norris, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 34018 bytes --]

Hi!

Here is a patch, prepared by Jim Norris, to fix dg-shouldfail usage in
OpenACC libgomp tests.  It introduces two regressions (that is, makes the
existing errors visible), which shall then be fixed later on:
libgomp.oacc-c-c++-common/lib-3.c, and
libgomp.oacc-c-c++-common/lib-42.c.

As obvious, committed to trunk in r222620:

commit cf9c09c49e63176ff8a1fba429971cb13226260b
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 30 12:44:39 2015 +0000

    [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
    
    	PR testsuite/65205
    	libgomp/
    	* testsuite/lib/libgomp.exp
    	(check_effective_target_openacc_host_selected)
    	(check_effective_target_openacc_host_nonshm_selected): New
    	procedures.
    	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
    	dg-shouldfail.
    	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222620 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog                                  |   53 ++++++++++++++++++++
 libgomp/testsuite/lib/libgomp.exp                  |   20 ++++++++
 .../libgomp.oacc-c-c++-common/clauses-2.c          |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-1.c    |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-11.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-16.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-17.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-18.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-2.c    |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-20.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-21.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-22.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-23.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-25.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-26.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-27.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-28.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-29.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-3.c    |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-30.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-34.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-35.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-36.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-39.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-4.c    |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-40.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-42.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-43.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-44.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-47.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-48.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-52.c   |    4 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-53.c   |    4 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-54.c   |    4 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-57.c   |    4 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-58.c   |    4 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-62.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-63.c   |    5 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-64.c   |    5 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-65.c   |    5 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-67.c   |    5 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-68.c   |    5 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-71.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-77.c   |    3 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-80.c   |    3 +-
 .../libgomp.oacc-c-c++-common/present-1.c          |    3 +-
 46 files changed, 171 insertions(+), 49 deletions(-)

diff --git libgomp/ChangeLog libgomp/ChangeLog
index 4b0a1c9..1621b90 100644
--- libgomp/ChangeLog
+++ libgomp/ChangeLog
@@ -1,3 +1,56 @@
+2015-04-30  James Norris  <jnorris@codesourcery.com>
+
+	PR testsuite/65205
+	* testsuite/lib/libgomp.exp
+	(check_effective_target_openacc_host_selected)
+	(check_effective_target_openacc_host_nonshm_selected): New
+	procedures.
+	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
+	dg-shouldfail.
+	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
+
 2015-04-08  Julian Brown  <julian@codesourcery.com>
 
 	* libgomp.h (target_mem_desc: Remove mem_map field.
diff --git libgomp/testsuite/lib/libgomp.exp libgomp/testsuite/lib/libgomp.exp
index 5a6eec1..438777f 100644
--- libgomp/testsuite/lib/libgomp.exp
+++ libgomp/testsuite/lib/libgomp.exp
@@ -345,3 +345,23 @@ proc check_effective_target_openacc_nvidia_accel_selected { } {
     }
     return 0;
 }
+
+# Return 1 if the host target is selected for offloaded
+
+proc check_effective_target_openacc_host_selected { } {
+    global offload_target_openacc
+    if { $offload_target_openacc == "host" } {
+        return 1;
+    }
+    return 0;
+}
+
+# Return 1 if the host_nonshm target is selected for offloaded
+
+proc check_effective_target_openacc_host_nonshm_selected { } {
+    global offload_target_openacc
+    if { $offload_target_openacc == "host_nonshm" } {
+        return 1;
+    }
+    return 0;
+}
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
index 8dc45cb..fec2214 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
@@ -64,4 +64,5 @@ main (int argc, char **argv)
 
     return 0;
 }
-/* { dg-shouldfail "libgomp: \[\h+,\d+\] is not mapped" } */
+/* { dg-output "Trying to map into device \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) object when \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) is already mapped" }
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
index 17129d8..5ff23b2 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
@@ -21,4 +21,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: device already active" } */
+/* { dg-output "device already active" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
index eccdb8c..e34a876e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
@@ -20,4 +20,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: mem free failed 1" } */
+/* { dg-output "invalid device address" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
index 9d277ac..ad73bd7 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
@@ -26,4 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+256\] already mapped to \[\h+,\+256\]" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] already mapped to \\\[0x\[0-9a-f\]+,\\\+256\\\]" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
index 5ff894c..b568775 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
@@ -28,4 +28,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
index 2bc3263..33ebce9 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
@@ -31,4 +31,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
index 9a4501f..b16e9e6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: no device initialized" } */
+/* { dg-output "no device initialized" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
index b379a8f..aaab2ec 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
@@ -26,4 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] surounds2 \[\h+,\+257\]" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+257\\\]" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
index 3a67400..5bd9078 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
@@ -26,4 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,0\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
index 2b86da8..638180e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
@@ -26,4 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] surrounds2 \[\h+,\+255\]" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+255\\\]" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
index 38f236d..54dd0f3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
@@ -36,4 +36,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] surrounds2 \[\h+,\+512\]" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+512\\\]" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
index 1145828..76f1911 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
@@ -27,4 +27,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] already mapped to \[\h+,256\]" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] already mapped to \\\[0x\[0-9a-f\]+,\\\+256\\\]" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
index a23f56e..cdbc38e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+0\] is a bad range" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
index 074fddb..0edec6f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\(nil\)\] is a bad range" } */
+/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
index 027f7cc..453763d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\(nil\),256\] is not mapped" } */
+/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
index a66de0f..b3326ea 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,0\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
index e823a41..bb76c82 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
@@ -12,4 +12,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: device 4(4) is initialized" } */
+/* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
index ce2bdb4..3176e24 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] surrounds2 \[\h+,\+254\]" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+254\\\]" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
index 32d5d51..cbe938f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
@@ -30,4 +30,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+256\] not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
index ca8edab..4fe15da 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\(nil\),+256\] is a bad range" } */
+/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
index cb29397..0fd296a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
@@ -23,4 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+0\] is a bad range" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
index db1e0b3..e8caa38 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
@@ -38,4 +38,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\(nil\),+256\] is a bad range" } */
+/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
index 060275b..35f9440 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
@@ -10,4 +10,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: device 99 is out of range" } */
+/* { dg-output "device \[0-9\]+ out of range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
index cb6c422..0a6607b 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
@@ -39,4 +39,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+0\] is a bad range" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index d577fe3..cb5a7b2 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -32,4 +32,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,256\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
index ceeb155..2c2220d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
@@ -42,4 +42,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\(nil\),256\] is not mapped" } */
+/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
index 0cabb0d..05d3052 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
@@ -42,4 +42,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,0\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
index a7ff904..c217bc0 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\(nil\),256\] is not mapped" } */
+/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
index 01d3c6c..1dce197 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,0\] is not mapped" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
index 780db31..782e267 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
@@ -25,4 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[(nil),+256\]->\[\h+,\+256\] is a bad map" } */
+/* { dg-output "\\\[\\\(nil\\\),\\\+256\]->\[0x\[0-9a-f\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
index 657adde..7e0a288 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
@@ -25,4 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+256\]->\[(nil),\+256\] is a bad map" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\]->\\\[\\\(nil\\\),\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
index 1f3df80..fa35a05 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
@@ -25,4 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \[\h+,\+0\]->\[\h+,\+0\] is a bad map" } */
+/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\]->\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
index f9043a4..7e41c4a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
@@ -25,4 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \h+ is not a mapped block" } */
+/* { dg-output "0x\[0-9a-f\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
index 9d6e27d..44353d2 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
@@ -25,4 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: \(nil\) is not a mapped block" } */
+/* { dg-output "\\\(nil\\\) is not a mapped block" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
index e6178e2..47dc953 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
@@ -46,4 +46,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: invalid size" } */
+/* { dg-output "invalid size" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
index ca237ec..69c061e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: invalid device address" } */
+/* { dg-output "invalid device address" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
index 850fd2e..6a785b0 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: invalid host address" } */
+/* { dg-output "invalid host address" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
index 26c8cef..0f2f9eb 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: invalid host or device address" } */
+/* { dg-output "invalid host or device address" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
index 01b8b2d..31b8c1f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: invalid host address" } */
+/* { dg-output "invalid host address" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
index 3ff5bd7..dc39770 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
@@ -40,4 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: invalid device address" } */
+/* { dg-output "invalid device address" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
index a045379..e8584db 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
@@ -116,4 +116,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: unknown async \d" } */
+/* { dg-output "unknown async \[0-9\]+" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
index e47212b..35a0980 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
@@ -132,4 +132,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: unknown async \d" } */
+/* { dg-output "unknown async \[0-9\]+" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
index 0b5ec24..d521331 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
@@ -129,4 +129,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-shouldfail "libgomp: identical parameters" } */
+/* { dg-output "identical parameters" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
index f331f1f..d8fcb71 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
@@ -45,4 +45,5 @@ main (int argc, char **argv)
 
     return 0;
 }
-/* { dg-shouldfail "libgomp: present clause: !acc_is_present" } */
+/* { dg-output "present clause: !acc_is_present" } */
+/* { dg-shouldfail "" } */


Grüße,
 Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-04-30 13:17 ` [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests Thomas Schwinge
@ 2015-05-04  8:34   ` Thomas Schwinge
  2015-05-04 13:26     ` Rainer Orth
  2015-05-04 14:20     ` John David Anglin
  2015-08-14 11:16   ` Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  1 sibling, 2 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-05-04  8:34 UTC (permalink / raw)
  To: gcc-patches, danglin, John David Anglin; +Cc: James Norris, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 23102 bytes --]

Hi!

On Thu, 30 Apr 2015 14:47:03 +0200, I wrote:
> Here is a patch, prepared by Jim Norris, to fix dg-shouldfail usage in
> OpenACC libgomp tests.  It introduces two regressions (that is, makes the
> existing errors visible), which shall then be fixed later on:
> libgomp.oacc-c-c++-common/lib-3.c, and
> libgomp.oacc-c-c++-common/lib-42.c.
> 
> As obvious, committed to trunk in r222620: [...]

So much for "obvious" ;-) -- <https://gcc.gnu.org/PR65993>.

Dave, would you please test the following patch, and report the
regression status compared to before r222620?  (Compared to your existing
r222021 results, as posted in the PR, for example.)

Additionally to the "%p" format specifier printing a "0x" prefix vs. not
doing that, I've also changed the expected "(nil)" output for NULL
pointers to instead match basically everything.

 libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c      | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c | 4 ++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c | 4 ++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c | 4 ++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c         | 2 +-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f      | 2 +-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f      | 2 +-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f      | 2 +-
 35 files changed, 38 insertions(+), 38 deletions(-)

diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
index fec2214..c0a5d00 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
@@ -64,5 +64,5 @@ main (int argc, char **argv)
 
     return 0;
 }
-/* { dg-output "Trying to map into device \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) object when \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) is already mapped" }
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
index 83c0a42..0c61a66 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
@@ -15,5 +15,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "Trying to map into device .* object when .* is already mapped" } */
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
index 137d8ce..cd9fea3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
@@ -12,5 +12,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "Trying to map into device .* object when .* is already mapped" } */
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
index a50f7de..7472d7f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
@@ -12,5 +12,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "Trying to map into device .* object when .* is already mapped" } */
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
index ad73bd7..d6f6559 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] already mapped to \\\[0x\[0-9a-f\]+,\\\+256\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
index b568775..d20ad6a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
@@ -28,5 +28,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
index 33ebce9..a3cb59a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
@@ -31,5 +31,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
index aaab2ec..3e86154 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+257\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
index 5bd9078..7fb34e3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
index 638180e..b0d4df8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+255\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
index 54dd0f3..64334ec 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
@@ -36,5 +36,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+512\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
index 76f1911..17f4a19 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
@@ -27,5 +27,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] already mapped to \\\[0x\[0-9a-f\]+,\\\+256\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
index cdbc38e..41d560e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
index 0edec6f..9d9d739 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
index 453763d..07d13d7 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
index b3326ea..da01194 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
index 3176e24..9e34058 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+254\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
index cbe938f..536e2ae 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
@@ -30,5 +30,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
index 4fe15da..fc90136 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
index 0fd296a..d0587ae 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
index e8caa38..01fdd90 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
@@ -38,5 +38,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
index 0a6607b..5a19898 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
@@ -39,5 +39,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index cb5a7b2..ff3eab4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -32,5 +32,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
index 2c2220d..45d4988 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
@@ -42,5 +42,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
index 05d3052..abe2b9e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
@@ -42,5 +42,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
index c217bc0..2b3730b 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
@@ -40,5 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
index 1dce197..febe022 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
@@ -40,5 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
index 782e267..39845e8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\]->\[0x\[0-9a-f\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
index 7e0a288..bed9323 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\]->\\\[\\\(nil\\\),\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
index fa35a05..20fd175 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\]->\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
index 7e41c4a..69ab79f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "0x\[0-9a-f\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
index 44353d2..9b1ecd9 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\(nil\\\) is not a mapped block" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
index ac220ab..fc08fd5 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
@@ -13,5 +13,5 @@
 
       END
 
+! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
-! { dg-output "Trying to map into device .* object when .* is already mapped" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
index 2c5254b..b8a82b5 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
@@ -12,5 +12,5 @@
 
       END
 
+! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
-! { dg-output "Trying to map into device .* object when .* is already mapped" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
index 16da048..2083809 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
@@ -12,5 +12,5 @@
 
       END
 
+! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
-! { dg-output "Trying to map into device .* object when .* is already mapped" }


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-04  8:34   ` [PR testsuite/65205, libgomp/65993] " Thomas Schwinge
@ 2015-05-04 13:26     ` Rainer Orth
  2015-05-04 14:32       ` Andreas Schwab
  2015-05-04 14:20     ` John David Anglin
  1 sibling, 1 reply; 27+ messages in thread
From: Rainer Orth @ 2015-05-04 13:26 UTC (permalink / raw)
  To: Thomas Schwinge
  Cc: gcc-patches, danglin, John David Anglin, James Norris, Jakub Jelinek

Thomas Schwinge <thomas@codesourcery.com> writes:

> Additionally to the "%p" format specifier printing a "0x" prefix vs. not
> doing that, I've also changed the expected "(nil)" output for NULL
> pointers to instead match basically everything.

You cannot expect printf to print "(nil)" or variant for NULL pointers.
E.g. on Solaris 10 you get a SEGV instead.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-04  8:34   ` [PR testsuite/65205, libgomp/65993] " Thomas Schwinge
  2015-05-04 13:26     ` Rainer Orth
@ 2015-05-04 14:20     ` John David Anglin
  2015-05-05  9:43       ` Thomas Schwinge
  1 sibling, 1 reply; 27+ messages in thread
From: John David Anglin @ 2015-05-04 14:20 UTC (permalink / raw)
  To: Thomas Schwinge, gcc-patches, danglin; +Cc: James Norris, Jakub Jelinek

On 2015-05-04 4:32 AM, Thomas Schwinge wrote:
> Dave, would you please test the following patch, and report the
> regression status compared to before r222620?  (Compared to your existing
> r222021 results, as posted in the PR, for example.)
With patch, we have the following fails on hppa2.0w-hp-hpux11.11:

FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-3.c 
-DACC_DEVICE_TYPE_host
=1 -DACC_MEM_SHARED=1 output pattern test, is
libgomp: no device found
, should match device [0-9]+\([0-9]+\) is initialized
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-42.c 
-DACC_DEVICE_TYPE_hos
t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match 
\[[0-9a-fA-FxX]+,2
56\] is not mapped
FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-62.c 
-DACC_DEVICE_TYPE_hos
t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match invalid size
Running /test/gnu/gcc/gcc/libgomp/testsuite/libgomp.oacc-c++/c++.exp ...
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/lib-3.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 output pattern test, is
libgomp: no device found
, should match device [0-9]+\([0-9]+\) is initialized
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/lib-42.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 output pattern test, is , 
should match \[[0-9a-fA-FxX]+,256\] is not mapped
FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/lib-62.c 
-DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 output pattern test, is , 
should match invalid size

Note this is a 32-bit build and not the 64-bit build reported in PR.  
However, I would expect similar
printf support.  Don't have a 64-bit build handy.

Dave

-- 
John David Anglin  dave.anglin@bell.net

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-04 13:26     ` Rainer Orth
@ 2015-05-04 14:32       ` Andreas Schwab
  2015-05-04 14:38         ` Rainer Orth
  0 siblings, 1 reply; 27+ messages in thread
From: Andreas Schwab @ 2015-05-04 14:32 UTC (permalink / raw)
  To: Rainer Orth
  Cc: Thomas Schwinge, gcc-patches, danglin, John David Anglin,
	James Norris, Jakub Jelinek

Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> You cannot expect printf to print "(nil)" or variant for NULL pointers.
> E.g. on Solaris 10 you get a SEGV instead.

You are probably mixing it up with %s.  %p is required to handle NULL
like any other valid pointer value.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-04 14:32       ` Andreas Schwab
@ 2015-05-04 14:38         ` Rainer Orth
  0 siblings, 0 replies; 27+ messages in thread
From: Rainer Orth @ 2015-05-04 14:38 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Thomas Schwinge, gcc-patches, danglin, John David Anglin,
	James Norris, Jakub Jelinek

Andreas Schwab <schwab@linux-m68k.org> writes:

> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>
>> You cannot expect printf to print "(nil)" or variant for NULL pointers.
>> E.g. on Solaris 10 you get a SEGV instead.
>
> You are probably mixing it up with %s.  %p is required to handle NULL
> like any other valid pointer value.

Seems so.  Sorry for the noise.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-04 14:20     ` John David Anglin
@ 2015-05-05  9:43       ` Thomas Schwinge
  2015-05-05 12:43         ` John David Anglin
  2015-06-19  7:48         ` libgomp: XFAIL two libgomp.oacc-* tests (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  0 siblings, 2 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-05-05  9:43 UTC (permalink / raw)
  To: John David Anglin, gcc-patches, danglin; +Cc: James Norris, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 28909 bytes --]

Hi!

On Mon, 4 May 2015 10:20:14 -0400, John David Anglin <dave.anglin@bell.net> wrote:
> On 2015-05-04 4:32 AM, Thomas Schwinge wrote:
> > Dave, would you please test the following patch, and report the
> > regression status compared to before r222620?  (Compared to your existing
> > r222021 results, as posted in the PR, for example.)
> With patch, we have the following fails on hppa2.0w-hp-hpux11.11:

Thanks for testing!

> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-3.c 
> -DACC_DEVICE_TYPE_host
> =1 -DACC_MEM_SHARED=1 output pattern test, is
> libgomp: no device found
> , should match device [0-9]+\([0-9]+\) is initialized
> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-42.c 
> -DACC_DEVICE_TYPE_hos
> t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match 
> \[[0-9a-fA-FxX]+,2
> 56\] is not mapped

These are known issues.

> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-62.c 
> -DACC_DEVICE_TYPE_hos
> t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match invalid size

With this one I'll need your help: please cite from libgomp.log (or, from
a manual run) the actual output message that you're getting.


Committed in r222799:

commit 92d46f1ab3a56ffa0deb412141fbbcbe7036f61d
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue May 5 09:39:29 2015 +0000

    [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
    
    In dg-output, don't expect "0x" prefix for "%p" format specifier, don't expect
    "(nil)" for NULL pointer.
    
    	PR testsuite/65205
    	PR libgomp/65993
    	libgomp/
    	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
    	don't expect "0x" prefix for "%p" format specifier, don't expect
    	"(nil)" for NULL pointer.
    	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
    	accurately specify what we're looking for.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222799 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog                                  |   43 ++++++++++++++++++++
 .../libgomp.oacc-c-c++-common/clauses-2.c          |    2 +-
 .../libgomp.oacc-c-c++-common/data-already-1.c     |    4 +-
 .../libgomp.oacc-c-c++-common/data-already-2.c     |    4 +-
 .../libgomp.oacc-c-c++-common/data-already-8.c     |    4 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-16.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-17.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-18.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-20.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-21.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-22.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-23.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-25.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-26.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-27.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-28.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-29.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-30.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-34.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-35.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-36.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-39.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-40.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-42.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-43.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-44.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-47.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-48.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-52.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-53.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-54.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-57.c   |    2 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-58.c   |    2 +-
 .../libgomp.oacc-fortran/data-already-1.f          |    2 +-
 .../libgomp.oacc-fortran/data-already-2.f          |    2 +-
 .../libgomp.oacc-fortran/data-already-8.f          |    2 +-
 36 files changed, 81 insertions(+), 38 deletions(-)

diff --git libgomp/ChangeLog libgomp/ChangeLog
index 1621b90..15785ce 100644
--- libgomp/ChangeLog
+++ libgomp/ChangeLog
@@ -1,3 +1,46 @@
+2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR testsuite/65205
+	PR libgomp/65993
+	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
+	don't expect "0x" prefix for "%p" format specifier, don't expect
+	"(nil)" for NULL pointer.
+	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
+	accurately specify what we're looking for.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
+
 2015-04-30  James Norris  <jnorris@codesourcery.com>
 
 	PR testsuite/65205
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
index fec2214..c0a5d00 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
@@ -64,5 +64,5 @@ main (int argc, char **argv)
 
     return 0;
 }
-/* { dg-output "Trying to map into device \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) object when \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) is already mapped" }
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
index 83c0a42..0c61a66 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
@@ -15,5 +15,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "Trying to map into device .* object when .* is already mapped" } */
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
index 137d8ce..cd9fea3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
@@ -12,5 +12,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "Trying to map into device .* object when .* is already mapped" } */
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
index a50f7de..7472d7f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
@@ -12,5 +12,5 @@ main (int argc, char *argv[])
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "Trying to map into device .* object when .* is already mapped" } */
+/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
index ad73bd7..d6f6559 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] already mapped to \\\[0x\[0-9a-f\]+,\\\+256\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
index b568775..d20ad6a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
@@ -28,5 +28,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
index 33ebce9..a3cb59a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
@@ -31,5 +31,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
index aaab2ec..3e86154 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+257\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
index 5bd9078..7fb34e3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
index 638180e..b0d4df8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
@@ -26,5 +26,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+255\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
index 54dd0f3..64334ec 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
@@ -36,5 +36,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+512\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
index 76f1911..17f4a19 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
@@ -27,5 +27,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] already mapped to \\\[0x\[0-9a-f\]+,\\\+256\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
index cdbc38e..41d560e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
index 0edec6f..9d9d739 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
index 453763d..07d13d7 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
index b3326ea..da01194 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
index 3176e24..9e34058 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] surrounds2 \\\[0x\[0-9a-f\]+,\\\+254\\\]" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
index cbe938f..536e2ae 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
@@ -30,5 +30,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\\\] not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
index 4fe15da..fc90136 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
index 0fd296a..d0587ae 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
@@ -23,5 +23,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
index e8caa38..01fdd90 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
@@ -38,5 +38,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\\\] is a bad range" } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
index 0a6607b..5a19898 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
@@ -39,5 +39,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad range" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index cb5a7b2..ff3eab4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -32,5 +32,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,256\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
index 2c2220d..45d4988 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
@@ -42,5 +42,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
index 05d3052..abe2b9e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
@@ -42,5 +42,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
index c217bc0..2b3730b 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
@@ -40,5 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),256\\\] is not mapped" } */
+/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
index 1dce197..febe022 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
@@ -40,5 +40,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,0\\\] is not mapped" } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
index 782e267..39845e8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\\\(nil\\\),\\\+256\]->\[0x\[0-9a-f\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
index 7e0a288..bed9323 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+256\]->\\\[\\\(nil\\\),\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
index fa35a05..20fd175 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[0x\[0-9a-f\]+,\\\+0\\\]->\\\[0x\[0-9a-f\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
index 7e41c4a..69ab79f 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "0x\[0-9a-f\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
index 44353d2..9b1ecd9 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
@@ -25,6 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\(nil\\\) is not a mapped block" { target openacc_nvidia_accel_selected } } */
+/* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
index ac220ab..fc08fd5 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
@@ -13,5 +13,5 @@
 
       END
 
+! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
-! { dg-output "Trying to map into device .* object when .* is already mapped" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
index 2c5254b..b8a82b5 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
@@ -12,5 +12,5 @@
 
       END
 
+! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
-! { dg-output "Trying to map into device .* object when .* is already mapped" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
index 16da048..2083809 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
@@ -12,5 +12,5 @@
 
       END
 
+! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
-! { dg-output "Trying to map into device .* object when .* is already mapped" }


Grüße,
 Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-05  9:43       ` Thomas Schwinge
@ 2015-05-05 12:43         ` John David Anglin
  2015-05-05 13:10           ` John David Anglin
  2015-05-05 14:13           ` OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  2015-06-19  7:48         ` libgomp: XFAIL two libgomp.oacc-* tests (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  1 sibling, 2 replies; 27+ messages in thread
From: John David Anglin @ 2015-05-05 12:43 UTC (permalink / raw)
  To: Thomas Schwinge, gcc-patches, danglin; +Cc: James Norris, Jakub Jelinek

On 2015-05-05 5:43 AM, Thomas Schwinge wrote:
>> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-62.c
>> >-DACC_DEVICE_TYPE_hos
>> >t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match invalid size
> With this one I'll need your help: please cite from libgomp.log (or, from
> a manual run) the actual output message that you're getting.
There's no output message:
# ./lib-62.exe
Segmentation fault (core dumped)

(gdb) r
Starting program: 
/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libgomp/testsuite/lib-62.exe
warning: Private mapping of shared library text was not specified
by the executable; setting a breakpoint in a shared library which
is not privately mapped will not work.  See the HP-UX 11i v3 chatr
manpage for methods to privately map shared library text.

Program received signal SIGSEGV, Segmentation fault.
acc_init (d=acc_device_nvidia) at ../../../gcc/libgomp/oacc-init.c:178
178       ndevs = base_dev->get_num_devices_func ();
(gdb) disass $pc-16,$pc+16
Dump of assembler code from 0xc12731c8 to 0xc12731e8:
    0xc12731c8 <acc_init+64>:    copy r4,r19
    0xc12731cc <acc_init+68>:    copy r6,r26
    0xc12731d0 <acc_init+72>:    b,l 0xc1272af0 <resolve_device>,rp
    0xc12731d4 <acc_init+76>:    copy r19,r4
=> 0xc12731d8 <acc_init+80>:    ldw 1c(ret0),r22
    0xc12731dc <acc_init+84>:    copy r4,r19
    0xc12731e0 <acc_init+88>:    copy ret0,r3
    0xc12731e4 <acc_init+92>:    copy r19,r4
End of assembler dump.
(gdb) p/x $ret0
$1 = 0x0

It would seem resolve_device returned 0.

Dave

-- 
John David Anglin  dave.anglin@bell.net

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests
  2015-05-05 12:43         ` John David Anglin
@ 2015-05-05 13:10           ` John David Anglin
  2015-05-05 14:13           ` OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  1 sibling, 0 replies; 27+ messages in thread
From: John David Anglin @ 2015-05-05 13:10 UTC (permalink / raw)
  To: Thomas Schwinge, gcc-patches, danglin; +Cc: James Norris, Jakub Jelinek

On 2015-05-05 8:43 AM, John David Anglin wrote:
> It would seem resolve_device returned 0.
dispatchers[acc_device_nvidia] is zero when resolve_device is called.

Dave

-- 
John David Anglin  dave.anglin@bell.net

^ permalink raw reply	[flat|nested] 27+ messages in thread

* OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests)
  2015-05-05 12:43         ` John David Anglin
  2015-05-05 13:10           ` John David Anglin
@ 2015-05-05 14:13           ` Thomas Schwinge
  2015-05-07 15:56             ` Julian Brown
  2015-06-19  7:56             ` libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only (was: OpenACC: initialization with unsupported acc_device_t) Thomas Schwinge
  1 sibling, 2 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-05-05 14:13 UTC (permalink / raw)
  To: John David Anglin, Julian Brown
  Cc: James Norris, Jakub Jelinek, gcc-patches, danglin

[-- Attachment #1: Type: text/plain, Size: 3257 bytes --]

Hi!

On Tue, 5 May 2015 08:43:48 -0400, John David Anglin <dave.anglin@bell.net> wrote:
> On 2015-05-05 5:43 AM, Thomas Schwinge wrote:
> >> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-62.c
> >> >-DACC_DEVICE_TYPE_hos
> >> >t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match invalid size
> > With this one I'll need your help: please cite from libgomp.log (or, from
> > a manual run) the actual output message that you're getting.
> There's no output message:
> # ./lib-62.exe
> Segmentation fault (core dumped)

Thanks for having a look!

> (gdb) r
> Starting program: 
> /test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libgomp/testsuite/lib-62.exe
> warning: Private mapping of shared library text was not specified
> by the executable; setting a breakpoint in a shared library which
> is not privately mapped will not work.  See the HP-UX 11i v3 chatr
> manpage for methods to privately map shared library text.
> 
> Program received signal SIGSEGV, Segmentation fault.
> acc_init (d=acc_device_nvidia) at ../../../gcc/libgomp/oacc-init.c:178
> 178       ndevs = base_dev->get_num_devices_func ();
> (gdb) disass $pc-16,$pc+16
> Dump of assembler code from 0xc12731c8 to 0xc12731e8:
>     0xc12731c8 <acc_init+64>:    copy r4,r19
>     0xc12731cc <acc_init+68>:    copy r6,r26
>     0xc12731d0 <acc_init+72>:    b,l 0xc1272af0 <resolve_device>,rp
>     0xc12731d4 <acc_init+76>:    copy r19,r4
> => 0xc12731d8 <acc_init+80>:    ldw 1c(ret0),r22
>     0xc12731dc <acc_init+84>:    copy r4,r19
>     0xc12731e0 <acc_init+88>:    copy ret0,r3
>     0xc12731e4 <acc_init+92>:    copy r19,r4
> End of assembler dump.
> (gdb) p/x $ret0
> $1 = 0x0
> 
> It would seem resolve_device returned 0.

On Tue, 5 May 2015 09:10:06 -0400, John David Anglin <dave.anglin@bell.net> wrote:
> dispatchers[acc_device_nvidia] is zero when resolve_device is called.

As this is a PA-RISC HP-UX system, I feel certain that you don't actually
have nvptx offloading available (so, the nvptx libgomp plugin is not
being built).  However, this test case, contains an unconditional
acc_init call for acc_device_nvidia, and I would then guess that this
situation is not (not anymore?) correctly handled (abort with »offloading
to [...] not possible«, or similar; see
libgomp.oacc-c-c++-common/lib-4.c) in libgomp -- Julian, could this be
due to your recent libgomp OpenACC initialization changes?  (When working
on this in a build that does have nvptx offloading configured, I think
you should be able to simulate the situation by "hiding" (temporarily
deleting, or similar) the nvptx libgomp plugin?)  I think they're using
some of the same code paths, so make sure that when fixing acc_init, you
don't regress acc_get_num_devices, which should then still return 0 when
queried for acc_device_nvidia, and should not abort.


Then, I don't know why libgomp.oacc-c-c++-common/lib-62.c contains this
explicit acc_init call with acc_device_nvidia -- generally, the test
cases should not contain such unconditional statements.  So, let's then
please remove this.  See
libgomp/testsuite/libgomp.oacc-c-c++-common/lib-66.c for a very similar
test case, which does this differently.


Grüße,
 Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests)
  2015-05-05 14:13           ` OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
@ 2015-05-07 15:56             ` Julian Brown
  2015-05-21  7:13               ` OpenACC: initialization with unsupported acc_device_t Thomas Schwinge
  2015-06-19  7:56             ` libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only (was: OpenACC: initialization with unsupported acc_device_t) Thomas Schwinge
  1 sibling, 1 reply; 27+ messages in thread
From: Julian Brown @ 2015-05-07 15:56 UTC (permalink / raw)
  To: Thomas Schwinge
  Cc: John David Anglin, James Norris, Jakub Jelinek, gcc-patches, danglin

[-- Attachment #1: Type: text/plain, Size: 2959 bytes --]

On Tue, 5 May 2015 16:09:18 +0200
Thomas Schwinge <thomas@codesourcery.com> wrote:

> Hi!
> 
> On Tue, 5 May 2015 08:43:48 -0400, John David Anglin
> <dave.anglin@bell.net> wrote:
> > On 2015-05-05 5:43 AM, Thomas Schwinge wrote:
> > >> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-62.c
> > >> >-DACC_DEVICE_TYPE_hos
> > >> >t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match
> > >> >invalid size
> > > With this one I'll need your help: please cite from libgomp.log
> > > (or, from a manual run) the actual output message that you're
> > > getting.
> > There's no output message:
> > # ./lib-62.exe
> > Segmentation fault (core dumped)

> As this is a PA-RISC HP-UX system, I feel certain that you don't
> actually have nvptx offloading available (so, the nvptx libgomp
> plugin is not being built).  However, this test case, contains an
> unconditional acc_init call for acc_device_nvidia, and I would then
> guess that this situation is not (not anymore?) correctly handled
> (abort with »offloading to [...] not possible«, or similar; see
> libgomp.oacc-c-c++-common/lib-4.c) in libgomp -- Julian, could this be
> due to your recent libgomp OpenACC initialization changes?  (When
> working on this in a build that does have nvptx offloading
> configured, I think you should be able to simulate the situation by
> "hiding" (temporarily deleting, or similar) the nvptx libgomp
> plugin?)

The attached patch contains (what I hope should be) a fix for this,
tested by running the libgomp testsuite (with nvptx offloading), and by
deleting the nvptx plugin, with the patch applied, and ensuring that
lib-62.c no longer segfaults in that case.

The patch also tidies up a few other error paths around resolve_device,
and de-duplicates some error message reporting code.

> Then, I don't know why libgomp.oacc-c-c++-common/lib-62.c contains
> this explicit acc_init call with acc_device_nvidia -- generally, the
> test cases should not contain such unconditional statements.  So,
> let's then please remove this.  See
> libgomp/testsuite/libgomp.oacc-c-c++-common/lib-66.c for a very
> similar test case, which does this differently.

I've not touched this test though -- but I have tweaked
libgomp.oacc-c-c++-common/lib-4.c that should now expect a slightly
different error output.

OK for trunk?

Thanks,

Julian

ChangeLog

    libgomp/
    * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
    function comment. Only call gomp_fatal if new argument is true.
    (acc_dev_num_out_of_range): New function.
    (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
    acc_dev_num_out_of_range as appropriate.
    (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
    (acc_get_device_num, acc_set_device_num): Update calls to resolve_device.
    * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
    output.

[-- Attachment #2: init-no-devices-1.diff --]
[-- Type: text/x-patch, Size: 7041 bytes --]

commit 221b5dea47cdb7611456ca3cf28d180d3ff1156a
Author: Julian Brown <julian@codesourcery.com>
Date:   Thu May 7 08:39:16 2015 -0700

    Clean up initialisation when no devices of a particular type are available.

diff --git a/libgomp/oacc-init.c b/libgomp/oacc-init.c
index f2c60ec..cd50521 100644
--- a/libgomp/oacc-init.c
+++ b/libgomp/oacc-init.c
@@ -109,10 +109,12 @@ name_of_acc_device_t (enum acc_device_t type)
     }
 }
 
-/* ACC_DEVICE_LOCK should be held before calling this function.  */
+/* ACC_DEVICE_LOCK must be held before calling this function.  If FAIL_IS_ERROR
+   is true, this function raises an error if there are no devices of type D,
+   otherwise it returns NULL in that case.  */
 
 static struct gomp_device_descr *
-resolve_device (acc_device_t d)
+resolve_device (acc_device_t d, bool fail_is_error)
 {
   acc_device_t d_arg = d;
 
@@ -130,7 +132,13 @@ resolve_device (acc_device_t d)
 		  && dispatchers[d]->get_num_devices_func () > 0)
 		goto found;
 
-	    gomp_fatal ("device type %s not supported", goacc_device_type);
+	    if (fail_is_error)
+	      {
+		gomp_mutex_unlock (&acc_device_lock);
+		gomp_fatal ("device type %s not supported", goacc_device_type);
+	      }
+	    else
+	      return NULL;
 	  }
 
 	/* No default device specified, so start scanning for any non-host
@@ -149,7 +157,13 @@ resolve_device (acc_device_t d)
 	  d = acc_device_host;
 	  goto found;
 	}
-      gomp_fatal ("no device found");
+      if (fail_is_error)
+        {
+	  gomp_mutex_unlock (&acc_device_lock);
+	  gomp_fatal ("no device found");
+	}
+      else
+        return NULL;
       break;
 
     case acc_device_host:
@@ -157,7 +171,12 @@ resolve_device (acc_device_t d)
 
     default:
       if (d > _ACC_device_hwm)
-	gomp_fatal ("device %u out of range", (unsigned)d);
+	{
+	  if (fail_is_error)
+	    goto unsupported_device;
+	  else
+	    return NULL;
+	}
       break;
     }
  found:
@@ -166,12 +185,30 @@ resolve_device (acc_device_t d)
 	  && d != acc_device_default
 	  && d != acc_device_not_host);
 
+  if (dispatchers[d] == NULL && fail_is_error)
+    {
+    unsupported_device:
+      gomp_mutex_unlock (&acc_device_lock);
+      gomp_fatal ("device type %s not supported", name_of_acc_device_t (d));
+    }
+
   return dispatchers[d];
 }
 
+/* Emit a suitable error if no device of a particular type is available, or
+   the given device number is out-of-range.  */
+static void
+acc_dev_num_out_of_range (acc_device_t d, int ord, int ndevs)
+{
+  if (ndevs == 0)
+    gomp_fatal ("no devices of type %s available", name_of_acc_device_t (d));
+  else
+    gomp_fatal ("device %u out of range", ord);
+}
+
 /* This is called when plugins have been initialized, and serves to call
    (indirectly) the target's device_init hook.  Calling multiple times without
-   an intervening acc_shutdown_1 call is an error.  ACC_DEVICE_LOCK should be
+   an intervening acc_shutdown_1 call is an error.  ACC_DEVICE_LOCK must be
    held before calling this function.  */
 
 static struct gomp_device_descr *
@@ -180,12 +217,12 @@ acc_init_1 (acc_device_t d)
   struct gomp_device_descr *base_dev, *acc_dev;
   int ndevs;
 
-  base_dev = resolve_device (d);
+  base_dev = resolve_device (d, true);
 
   ndevs = base_dev->get_num_devices_func ();
 
-  if (!base_dev || ndevs <= 0 || goacc_device_num >= ndevs)
-    gomp_fatal ("device %s not supported", name_of_acc_device_t (d));
+  if (ndevs <= 0 || goacc_device_num >= ndevs)
+    acc_dev_num_out_of_range (d, goacc_device_num, ndevs);
 
   acc_dev = &base_dev[goacc_device_num];
 
@@ -202,7 +239,7 @@ acc_init_1 (acc_device_t d)
   return base_dev;
 }
 
-/* ACC_DEVICE_LOCK should be held before calling this function.  */
+/* ACC_DEVICE_LOCK must be held before calling this function.  */
 
 static void
 acc_shutdown_1 (acc_device_t d)
@@ -213,10 +250,7 @@ acc_shutdown_1 (acc_device_t d)
   bool devices_active = false;
 
   /* Get the base device for this device type.  */
-  base_dev = resolve_device (d);
-
-  if (!base_dev)
-    gomp_fatal ("device %s not supported", name_of_acc_device_t (d));
+  base_dev = resolve_device (d, true);
 
   gomp_mutex_lock (&goacc_thread_lock);
 
@@ -364,7 +398,8 @@ goacc_attach_host_thread_to_device (int ord)
   
   num_devices = base_dev->get_num_devices_func ();
   if (num_devices <= 0 || ord >= num_devices)
-    gomp_fatal ("device %u out of range", ord);
+    acc_dev_num_out_of_range (acc_device_type (base_dev->type), ord,
+			      num_devices);
   
   if (!thr)
     thr = goacc_new_thread ();
@@ -424,7 +459,7 @@ acc_get_num_devices (acc_device_t d)
   gomp_init_targets_once ();
 
   gomp_mutex_lock (&acc_device_lock);
-  acc_dev = resolve_device (d);
+  acc_dev = resolve_device (d, false);
   gomp_mutex_unlock (&acc_device_lock);
 
   if (!acc_dev)
@@ -454,7 +489,7 @@ acc_set_device_type (acc_device_t d)
   if (!cached_base_dev)
     gomp_init_targets_once ();
 
-  cached_base_dev = base_dev = resolve_device (d);
+  cached_base_dev = base_dev = resolve_device (d, true);
   acc_dev = &base_dev[goacc_device_num];
 
   gomp_mutex_lock (&acc_dev->lock);
@@ -492,7 +527,7 @@ acc_get_device_type (void)
       gomp_init_targets_once ();
 
       gomp_mutex_lock (&acc_device_lock);
-      dev = resolve_device (acc_device_default);
+      dev = resolve_device (acc_device_default, true);
       gomp_mutex_unlock (&acc_device_lock);
       res = acc_device_type (dev->type);
     }
@@ -512,16 +547,14 @@ acc_get_device_num (acc_device_t d)
   struct goacc_thread *thr = goacc_thread ();
 
   if (d >= _ACC_device_hwm)
-    gomp_fatal ("device %u out of range", (unsigned)d);
+    gomp_fatal ("unknown device type %u", (unsigned) d);
 
   if (!cached_base_dev)
     gomp_init_targets_once ();
 
   gomp_mutex_lock (&acc_device_lock);
-  dev = resolve_device (d);
+  dev = resolve_device (d, true);
   gomp_mutex_unlock (&acc_device_lock);
-  if (!dev)
-    gomp_fatal ("device %s not supported", name_of_acc_device_t (d));
 
   if (thr && thr->base_dev == dev && thr->dev)
     return thr->dev->target_id;
@@ -552,12 +585,12 @@ acc_set_device_num (int ord, acc_device_t d)
     {
       gomp_mutex_lock (&acc_device_lock);
 
-      cached_base_dev = base_dev = resolve_device (d);
+      cached_base_dev = base_dev = resolve_device (d, true);
 
       num_devices = base_dev->get_num_devices_func ();
 
-      if (ord >= num_devices)
-        gomp_fatal ("device %u out of range", ord);
+      if (num_devices <= 0 || ord >= num_devices)
+        acc_dev_num_out_of_range (d, ord, num_devices);
 
       acc_dev = &base_dev[ord];
 
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
index 35f9440..3bb9ea5 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
@@ -10,5 +10,5 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "device \[0-9\]+ out of range" } */
+/* { dg-output "unknown device type \[0-9\]+" } */
 /* { dg-shouldfail "" } */

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: OpenACC: initialization with unsupported acc_device_t
  2015-05-07 15:56             ` Julian Brown
@ 2015-05-21  7:13               ` Thomas Schwinge
  2015-05-21  8:31                 ` Jakub Jelinek
  0 siblings, 1 reply; 27+ messages in thread
From: Thomas Schwinge @ 2015-05-21  7:13 UTC (permalink / raw)
  To: Julian Brown, Jakub Jelinek
  Cc: John David Anglin, James Norris, gcc-patches, danglin

[-- Attachment #1: Type: text/plain, Size: 10895 bytes --]

Hi Julian!

On Thu, 7 May 2015 16:56:11 +0100, Julian Brown <julian@codesourcery.com> wrote:
> On Tue, 5 May 2015 16:09:18 +0200
> Thomas Schwinge <thomas@codesourcery.com> wrote:
> > On Tue, 5 May 2015 08:43:48 -0400, John David Anglin
> > <dave.anglin@bell.net> wrote:
> > > On 2015-05-05 5:43 AM, Thomas Schwinge wrote:
> > > >> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-62.c
> > > >> >-DACC_DEVICE_TYPE_hos
> > > >> >t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match
> > > >> >invalid size
> > > > With this one I'll need your help: please cite from libgomp.log
> > > > (or, from a manual run) the actual output message that you're
> > > > getting.
> > > There's no output message:
> > > # ./lib-62.exe
> > > Segmentation fault (core dumped)
> 
> > As this is a PA-RISC HP-UX system, I feel certain that you don't
> > actually have nvptx offloading available (so, the nvptx libgomp
> > plugin is not being built).  However, this test case, contains an
> > unconditional acc_init call for acc_device_nvidia, and I would then
> > guess that this situation is not (not anymore?) correctly handled
> > (abort with »offloading to [...] not possible«, or similar; see
> > libgomp.oacc-c-c++-common/lib-4.c) in libgomp -- Julian, could this be
> > due to your recent libgomp OpenACC initialization changes?  (When
> > working on this in a build that does have nvptx offloading
> > configured, I think you should be able to simulate the situation by
> > "hiding" (temporarily deleting, or similar) the nvptx libgomp
> > plugin?)
> 
> The attached patch contains (what I hope should be) a fix for this,
> tested by running the libgomp testsuite (with nvptx offloading), and by
> deleting the nvptx plugin, with the patch applied, and ensuring that
> lib-62.c no longer segfaults in that case.
> 
> The patch also tidies up a few other error paths around resolve_device,
> and de-duplicates some error message reporting code.
> 
> > Then, I don't know why libgomp.oacc-c-c++-common/lib-62.c contains
> > this explicit acc_init call with acc_device_nvidia -- generally, the
> > test cases should not contain such unconditional statements.  So,
> > let's then please remove this.  See
> > libgomp/testsuite/libgomp.oacc-c-c++-common/lib-66.c for a very
> > similar test case, which does this differently.
> 
> I've not touched this test though -- but I have tweaked
> libgomp.oacc-c-c++-common/lib-4.c that should now expect a slightly
> different error output.
> 
> OK for trunk?

Thanks, looks good to me -- Jakub?


Grüße,
 Thomas


>     libgomp/
>     * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
>     function comment. Only call gomp_fatal if new argument is true.
>     (acc_dev_num_out_of_range): New function.
>     (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
>     acc_dev_num_out_of_range as appropriate.
>     (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
>     (acc_get_device_num, acc_set_device_num): Update calls to resolve_device.
>     * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
>     output.

> commit 221b5dea47cdb7611456ca3cf28d180d3ff1156a
> Author: Julian Brown <julian@codesourcery.com>
> Date:   Thu May 7 08:39:16 2015 -0700
> 
>     Clean up initialisation when no devices of a particular type are available.
> 
> diff --git a/libgomp/oacc-init.c b/libgomp/oacc-init.c
> index f2c60ec..cd50521 100644
> --- a/libgomp/oacc-init.c
> +++ b/libgomp/oacc-init.c
> @@ -109,10 +109,12 @@ name_of_acc_device_t (enum acc_device_t type)
>      }
>  }
>  
> -/* ACC_DEVICE_LOCK should be held before calling this function.  */
> +/* ACC_DEVICE_LOCK must be held before calling this function.  If FAIL_IS_ERROR
> +   is true, this function raises an error if there are no devices of type D,
> +   otherwise it returns NULL in that case.  */
>  
>  static struct gomp_device_descr *
> -resolve_device (acc_device_t d)
> +resolve_device (acc_device_t d, bool fail_is_error)
>  {
>    acc_device_t d_arg = d;
>  
> @@ -130,7 +132,13 @@ resolve_device (acc_device_t d)
>  		  && dispatchers[d]->get_num_devices_func () > 0)
>  		goto found;
>  
> -	    gomp_fatal ("device type %s not supported", goacc_device_type);
> +	    if (fail_is_error)
> +	      {
> +		gomp_mutex_unlock (&acc_device_lock);
> +		gomp_fatal ("device type %s not supported", goacc_device_type);
> +	      }
> +	    else
> +	      return NULL;
>  	  }
>  
>  	/* No default device specified, so start scanning for any non-host
> @@ -149,7 +157,13 @@ resolve_device (acc_device_t d)
>  	  d = acc_device_host;
>  	  goto found;
>  	}
> -      gomp_fatal ("no device found");
> +      if (fail_is_error)
> +        {
> +	  gomp_mutex_unlock (&acc_device_lock);
> +	  gomp_fatal ("no device found");
> +	}
> +      else
> +        return NULL;
>        break;
>  
>      case acc_device_host:
> @@ -157,7 +171,12 @@ resolve_device (acc_device_t d)
>  
>      default:
>        if (d > _ACC_device_hwm)
> -	gomp_fatal ("device %u out of range", (unsigned)d);
> +	{
> +	  if (fail_is_error)
> +	    goto unsupported_device;
> +	  else
> +	    return NULL;
> +	}
>        break;
>      }
>   found:
> @@ -166,12 +185,30 @@ resolve_device (acc_device_t d)
>  	  && d != acc_device_default
>  	  && d != acc_device_not_host);
>  
> +  if (dispatchers[d] == NULL && fail_is_error)
> +    {
> +    unsupported_device:
> +      gomp_mutex_unlock (&acc_device_lock);
> +      gomp_fatal ("device type %s not supported", name_of_acc_device_t (d));
> +    }
> +
>    return dispatchers[d];
>  }
>  
> +/* Emit a suitable error if no device of a particular type is available, or
> +   the given device number is out-of-range.  */
> +static void
> +acc_dev_num_out_of_range (acc_device_t d, int ord, int ndevs)
> +{
> +  if (ndevs == 0)
> +    gomp_fatal ("no devices of type %s available", name_of_acc_device_t (d));
> +  else
> +    gomp_fatal ("device %u out of range", ord);
> +}
> +
>  /* This is called when plugins have been initialized, and serves to call
>     (indirectly) the target's device_init hook.  Calling multiple times without
> -   an intervening acc_shutdown_1 call is an error.  ACC_DEVICE_LOCK should be
> +   an intervening acc_shutdown_1 call is an error.  ACC_DEVICE_LOCK must be
>     held before calling this function.  */
>  
>  static struct gomp_device_descr *
> @@ -180,12 +217,12 @@ acc_init_1 (acc_device_t d)
>    struct gomp_device_descr *base_dev, *acc_dev;
>    int ndevs;
>  
> -  base_dev = resolve_device (d);
> +  base_dev = resolve_device (d, true);
>  
>    ndevs = base_dev->get_num_devices_func ();
>  
> -  if (!base_dev || ndevs <= 0 || goacc_device_num >= ndevs)
> -    gomp_fatal ("device %s not supported", name_of_acc_device_t (d));
> +  if (ndevs <= 0 || goacc_device_num >= ndevs)
> +    acc_dev_num_out_of_range (d, goacc_device_num, ndevs);
>  
>    acc_dev = &base_dev[goacc_device_num];
>  
> @@ -202,7 +239,7 @@ acc_init_1 (acc_device_t d)
>    return base_dev;
>  }
>  
> -/* ACC_DEVICE_LOCK should be held before calling this function.  */
> +/* ACC_DEVICE_LOCK must be held before calling this function.  */
>  
>  static void
>  acc_shutdown_1 (acc_device_t d)
> @@ -213,10 +250,7 @@ acc_shutdown_1 (acc_device_t d)
>    bool devices_active = false;
>  
>    /* Get the base device for this device type.  */
> -  base_dev = resolve_device (d);
> -
> -  if (!base_dev)
> -    gomp_fatal ("device %s not supported", name_of_acc_device_t (d));
> +  base_dev = resolve_device (d, true);
>  
>    gomp_mutex_lock (&goacc_thread_lock);
>  
> @@ -364,7 +398,8 @@ goacc_attach_host_thread_to_device (int ord)
>    
>    num_devices = base_dev->get_num_devices_func ();
>    if (num_devices <= 0 || ord >= num_devices)
> -    gomp_fatal ("device %u out of range", ord);
> +    acc_dev_num_out_of_range (acc_device_type (base_dev->type), ord,
> +			      num_devices);
>    
>    if (!thr)
>      thr = goacc_new_thread ();
> @@ -424,7 +459,7 @@ acc_get_num_devices (acc_device_t d)
>    gomp_init_targets_once ();
>  
>    gomp_mutex_lock (&acc_device_lock);
> -  acc_dev = resolve_device (d);
> +  acc_dev = resolve_device (d, false);
>    gomp_mutex_unlock (&acc_device_lock);
>  
>    if (!acc_dev)
> @@ -454,7 +489,7 @@ acc_set_device_type (acc_device_t d)
>    if (!cached_base_dev)
>      gomp_init_targets_once ();
>  
> -  cached_base_dev = base_dev = resolve_device (d);
> +  cached_base_dev = base_dev = resolve_device (d, true);
>    acc_dev = &base_dev[goacc_device_num];
>  
>    gomp_mutex_lock (&acc_dev->lock);
> @@ -492,7 +527,7 @@ acc_get_device_type (void)
>        gomp_init_targets_once ();
>  
>        gomp_mutex_lock (&acc_device_lock);
> -      dev = resolve_device (acc_device_default);
> +      dev = resolve_device (acc_device_default, true);
>        gomp_mutex_unlock (&acc_device_lock);
>        res = acc_device_type (dev->type);
>      }
> @@ -512,16 +547,14 @@ acc_get_device_num (acc_device_t d)
>    struct goacc_thread *thr = goacc_thread ();
>  
>    if (d >= _ACC_device_hwm)
> -    gomp_fatal ("device %u out of range", (unsigned)d);
> +    gomp_fatal ("unknown device type %u", (unsigned) d);
>  
>    if (!cached_base_dev)
>      gomp_init_targets_once ();
>  
>    gomp_mutex_lock (&acc_device_lock);
> -  dev = resolve_device (d);
> +  dev = resolve_device (d, true);
>    gomp_mutex_unlock (&acc_device_lock);
> -  if (!dev)
> -    gomp_fatal ("device %s not supported", name_of_acc_device_t (d));
>  
>    if (thr && thr->base_dev == dev && thr->dev)
>      return thr->dev->target_id;
> @@ -552,12 +585,12 @@ acc_set_device_num (int ord, acc_device_t d)
>      {
>        gomp_mutex_lock (&acc_device_lock);
>  
> -      cached_base_dev = base_dev = resolve_device (d);
> +      cached_base_dev = base_dev = resolve_device (d, true);
>  
>        num_devices = base_dev->get_num_devices_func ();
>  
> -      if (ord >= num_devices)
> -        gomp_fatal ("device %u out of range", ord);
> +      if (num_devices <= 0 || ord >= num_devices)
> +        acc_dev_num_out_of_range (d, ord, num_devices);
>  
>        acc_dev = &base_dev[ord];
>  
> diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
> index 35f9440..3bb9ea5 100644
> --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
> +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
> @@ -10,5 +10,5 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> -/* { dg-output "device \[0-9\]+ out of range" } */
> +/* { dg-output "unknown device type \[0-9\]+" } */
>  /* { dg-shouldfail "" } */

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: OpenACC: initialization with unsupported acc_device_t
  2015-05-21  7:13               ` OpenACC: initialization with unsupported acc_device_t Thomas Schwinge
@ 2015-05-21  8:31                 ` Jakub Jelinek
  0 siblings, 0 replies; 27+ messages in thread
From: Jakub Jelinek @ 2015-05-21  8:31 UTC (permalink / raw)
  To: Thomas Schwinge
  Cc: Julian Brown, John David Anglin, James Norris, gcc-patches, danglin

On Thu, May 21, 2015 at 08:55:59AM +0200, Thomas Schwinge wrote:
> Thanks, looks good to me -- Jakub?

Ok for trunk.

> >     libgomp/
> >     * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
> >     function comment. Only call gomp_fatal if new argument is true.
> >     (acc_dev_num_out_of_range): New function.
> >     (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
> >     acc_dev_num_out_of_range as appropriate.
> >     (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
> >     (acc_get_device_num, acc_set_device_num): Update calls to resolve_device.
> >     * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
> >     output.

	Jakub

^ permalink raw reply	[flat|nested] 27+ messages in thread

* libgomp: XFAIL two libgomp.oacc-* tests (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests)
  2015-05-05  9:43       ` Thomas Schwinge
  2015-05-05 12:43         ` John David Anglin
@ 2015-06-19  7:48         ` Thomas Schwinge
  2015-10-09 15:14           ` [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self Thomas Schwinge
  1 sibling, 1 reply; 27+ messages in thread
From: Thomas Schwinge @ 2015-06-19  7:48 UTC (permalink / raw)
  To: gcc-patches; +Cc: John David Anglin, danglin, Jakub Jelinek, Richard Biener

[-- Attachment #1: Type: text/plain, Size: 3085 bytes --]

Hi!

On Tue, 5 May 2015 11:43:20 +0200, I wrote:
> On Mon, 4 May 2015 10:20:14 -0400, John David Anglin <dave.anglin@bell.net> wrote:
> > FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-3.c 
> > -DACC_DEVICE_TYPE_host
> > =1 -DACC_MEM_SHARED=1 output pattern test, is
> > libgomp: no device found
> > , should match device [0-9]+\([0-9]+\) is initialized
> > FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-42.c 
> > -DACC_DEVICE_TYPE_hos
> > t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match 
> > \[[0-9a-fA-FxX]+,2
> > 56\] is not mapped
> 
> These are known issues.

In r224639, now (at least, and at last...) XFAILed as follows:

commit c130d11c707853c1065f765698bb6dd93706bb83
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Jun 19 07:41:37 2015 +0000

    libgomp: XFAIL two libgomp.oacc-* tests
    
    	PR libgomp/66518
    	libgomp/
    	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
    	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224639 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog                                    |    6 ++++++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c  |    3 ++-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c |    4 +++-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git libgomp/ChangeLog libgomp/ChangeLog
index d7e0d36..d49b056 100644
--- libgomp/ChangeLog
+++ libgomp/ChangeLog
@@ -1,3 +1,9 @@
+2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR libgomp/66518
+	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
+	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
+
 2015-06-15  Tom de Vries  <tom@codesourcery.com>
 
 	* testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
index bb76c82..d5f390d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
@@ -12,5 +12,6 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" } */
+/* TODO: currently prints: "libgomp: no device found".  */
+/* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" { xfail *-*-* } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index ff3eab4..b74addd 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -32,5 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
-/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
+/* TODO: currently doesn't print anything; SIGSEGV.
+   <https://gcc.gnu.org/PR66518>.  */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
 /* { dg-shouldfail "" } */


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only (was: OpenACC: initialization with unsupported acc_device_t)
  2015-05-05 14:13           ` OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  2015-05-07 15:56             ` Julian Brown
@ 2015-06-19  7:56             ` Thomas Schwinge
  2015-07-01 10:10               ` libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only Tom de Vries
  1 sibling, 1 reply; 27+ messages in thread
From: Thomas Schwinge @ 2015-06-19  7:56 UTC (permalink / raw)
  To: gcc-patches; +Cc: John David Anglin, danglin, Jakub Jelinek, Richard Biener

[-- Attachment #1: Type: text/plain, Size: 2286 bytes --]

Hi!

On Tue, 5 May 2015 16:09:18 +0200, I wrote:
> I don't know why libgomp.oacc-c-c++-common/lib-62.c contains this
> explicit acc_init call with acc_device_nvidia -- generally, the test
> cases should not contain such unconditional statements.  So, let's then
> please remove this.  See
> libgomp/testsuite/libgomp.oacc-c-c++-common/lib-66.c for a very similar
> test case, which does this differently.

Committed in r224640:

commit 3625ad60ab1ad783f4afead68f44b19011e4780d
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Jun 19 07:41:44 2015 +0000

    libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only
    
    	libgomp/
    	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
    	acc_device_nvidia.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224640 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog                                    |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c |    6 +-----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git libgomp/ChangeLog libgomp/ChangeLog
index d49b056..cf1a0b0 100644
--- libgomp/ChangeLog
+++ libgomp/ChangeLog
@@ -1,5 +1,8 @@
 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
 
+	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
+	acc_device_nvidia.
+
 	PR libgomp/66518
 	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
 	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
index 47dc953..2988b5b 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
@@ -12,8 +12,6 @@ main (int argc, char **argv)
   unsigned char *h;
   void *d;
 
-  acc_init (acc_device_nvidia);
-
   h = (unsigned char *) malloc (N);
 
   for (i = 0; i < N; i++)
@@ -41,8 +39,6 @@ main (int argc, char **argv)
 
   free (h);
 
-  acc_shutdown (acc_device_nvidia);
-
   return 0;
 }
 


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only
  2015-06-19  7:56             ` libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only (was: OpenACC: initialization with unsupported acc_device_t) Thomas Schwinge
@ 2015-07-01 10:10               ` Tom de Vries
  0 siblings, 0 replies; 27+ messages in thread
From: Tom de Vries @ 2015-07-01 10:10 UTC (permalink / raw)
  To: Thomas Schwinge, gcc-patches; +Cc: Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 1136 bytes --]

On 19/06/15 09:50, Thomas Schwinge wrote:
> Hi!
>
> On Tue, 5 May 2015 16:09:18 +0200, I wrote:
>> I don't know why libgomp.oacc-c-c++-common/lib-62.c contains this
>> explicit acc_init call with acc_device_nvidia -- generally, the test
>> cases should not contain such unconditional statements.  So, let's then
>> please remove this.  See
>> libgomp/testsuite/libgomp.oacc-c-c++-common/lib-66.c for a very similar
>> test case, which does this differently.
>
> Committed in r224640:
>
> commit 3625ad60ab1ad783f4afead68f44b19011e4780d
> Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date:   Fri Jun 19 07:41:44 2015 +0000
>
>      libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only
>
>      	libgomp/
>      	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
>      	acc_device_nvidia.
>
>      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224640 138bc75d-0d04-0410-961f-82ee72b054a4

Hi Thomas,

I've committed attached patch to gomp-4_0-branch, before finding this 
patch (which is a bit more thorough). You can drop it with the next 
merge from trunk.

Thanks,
- Tom

[-- Attachment #2: 0001-Run-libgomp.oacc-c-c-common-lib-62.c-only-for-nvidia.patch --]
[-- Type: text/x-patch, Size: 712 bytes --]

Run libgomp.oacc-c-c++-common/lib-62.c only for nvidia

2015-07-01  Tom de Vries  <tom@codesourcery.com>

	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only run for nvidia.
---
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
index 47dc953..6e6f8c5 100644
--- a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
+++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target openacc_nvidia_accel_selected } } */
 
 #include <string.h>
 #include <stdlib.h>
-- 
1.9.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

* Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests)
  2015-04-30 13:17 ` [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests Thomas Schwinge
  2015-05-04  8:34   ` [PR testsuite/65205, libgomp/65993] " Thomas Schwinge
@ 2015-08-14 11:16   ` Thomas Schwinge
  2015-08-14 11:19     ` Janne Blomqvist
                       ` (2 more replies)
  1 sibling, 3 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-08-14 11:16 UTC (permalink / raw)
  To: gcc-patches, Jakub Jelinek, fortran; +Cc: James Norris

[-- Attachment #1: Type: text/plain, Size: 54848 bytes --]

Hi!

(Can a Fortran person please comment on this: as it's nontrivial to write
to stderr, let's just write to stdout followed by a flush, which does
have the same ordering effect -- OK?)

On Thu, 30 Apr 2015 14:47:03 +0200, I wrote:
> Here is a patch, prepared by Jim Norris, to fix dg-shouldfail usage in
> OpenACC libgomp tests.  [...]

(These dg-shouldfail tests are expected to exit with a non-zero exit
status, and we're checking for a specific messages on stdout/stderr.)

> As obvious, committed to trunk in r222620:
> 
> commit cf9c09c49e63176ff8a1fba429971cb13226260b
> Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date:   Thu Apr 30 12:44:39 2015 +0000
> 
>     [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
>     
>     	PR testsuite/65205

> --- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> @@ -64,4 +64,5 @@ main (int argc, char **argv)
>  
>      return 0;
>  }
> -/* { dg-shouldfail "libgomp: \[\h+,\d+\] is not mapped" } */
> +/* { dg-output "Trying to map into device \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) object when \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) is already mapped" }
> +/* { dg-shouldfail "" } */

It once occurred to me that it's also a good idea to verify that we're
actually reaching the expected checkpoint before terminating -- OK to
commit?

commit 105522789919a4c69246b32c368e242bcb5ed108
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Thu Aug 13 14:03:09 2015 +0200

    Add checkpoint to libgomp dg-shouldfail tests
    
    That is, verify that we're actually reaching the expected checkpoint before
    terminating.
---
 libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c       |    5 +++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c       |    5 +++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c     |    3 +++
 .../testsuite/libgomp.oacc-c-c++-common/data-already-1.c    |    3 +++
 .../testsuite/libgomp.oacc-c-c++-common/data-already-2.c    |    8 +++++++-
 .../testsuite/libgomp.oacc-c-c++-common/data-already-3.c    |   11 ++++++++---
 .../testsuite/libgomp.oacc-c-c++-common/data-already-4.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-5.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-6.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-7.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-8.c    |    8 +++++++-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c        |    5 +++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c        |    8 ++++++++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c        |    8 ++++++++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c        |    2 ++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c        |    2 ++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c        |    2 ++
 libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c     |    3 +++
 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90          |    6 ++++--
 libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f     |    4 +++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f     |    3 +++
 libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f     |    5 ++++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f     |    5 ++++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f     |    5 ++++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f     |    5 ++++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f     |    5 ++++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f     |    3 +++
 63 files changed, 223 insertions(+), 27 deletions(-)

diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
index f88b9e3..6a9b1df 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
@@ -1,12 +1,11 @@
 /* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
 
 #include <stdlib.h>
 
 int
 main (void)
 {
-
+  __builtin_printf ("CheCKpOInT\n");
 #pragma acc parallel
   {
     abort ();
@@ -15,3 +14,5 @@ main (void)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail ""  } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
index be7aaa8..2c8f347 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
@@ -1,12 +1,11 @@
 /* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
 
 #include <stdlib.h>
 
 int
 main (void)
 {
-
+  __builtin_printf ("CheCKpOInT\n");
 #pragma acc kernels
   {
     abort ();
@@ -15,3 +14,5 @@ main (void)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail ""  } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
index c0a5d00..ff237fe 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
@@ -27,6 +27,7 @@ main (int argc, char **argv)
     d = (float *) acc_malloc (N * sizeof (float));
     acc_map_data (c, d, N * sizeof (float));
 
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc parallel copyin (a[0:N]) present_or_create (c[0:N+1]) copyout (b[0:N])
     {
         int ii;
@@ -64,5 +65,7 @@ main (int argc, char **argv)
 
     return 0;
 }
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
index 0c61a66..0ed53a4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -9,11 +10,13 @@ main (int argc, char *argv[])
 
   acc_copyin (&i, sizeof i);
 
+  fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data copy (i)
   ++i;
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
index cd9fea3..00adf2a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
@@ -1,16 +1,22 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
+
 int
 main (int argc, char *argv[])
 {
   int i;
 
 #pragma acc data present_or_copy (i)
+  {
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data copyout (i)
-  ++i;
+    ++i;
+  }
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
index b993b78..04073e3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,14 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc data present_or_copy (i)
-  acc_copyin (&i, sizeof i);
+  {
+    fprintf (stderr, "CheCKpOInT\n");
+    acc_copyin (&i, sizeof i);
+  }
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
index 82523f4..cfa5cb2 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
   acc_present_or_copyin (&i, sizeof i);
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyin (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
index 4961fe5..e15c3fb 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc enter data create (i)
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyin (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
index 77b56a9..4570c74 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
   acc_present_or_copyin (&i, sizeof i);
+  fprintf (stderr, "CheCKpOInT\n");
 #pragma acc enter data create (i)
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
index b08417b..467cf39 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc enter data create (i)
+  fprintf (stderr, "CheCKpOInT\n");
   acc_create (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
index 7472d7f..f41431c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
@@ -1,16 +1,22 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
+
 int
 main (int argc, char *argv[])
 {
   int i;
 
 #pragma acc data create (i)
+  {
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc parallel copyin (i)
-  ++i;
+    ++i;
+  }
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
index 5ff23b2..26318f1 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -16,10 +17,12 @@ main (int argc, char **argv)
 
   acc_init (devtype);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_init (devtype);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "device already active" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
index e34a876e..86cfeb6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
@@ -1,6 +1,7 @@
 /* Only nvptx plugin does the required error checking.
    { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 #include <stdint.h>
@@ -15,10 +16,12 @@ main (int argc, char **argv)
   if (d == NULL)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_free ((void *)((uintptr_t) d + (uintptr_t) (N >> 1)));
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
index d6f6559..28e4e5c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   (void) acc_copyin (h, N);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
index d20ad6a..7d1767e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   acc_copyout (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N);
 
   free (h);
@@ -28,5 +30,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
index a3cb59a..160b33c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
@@ -1,10 +1,9 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
-#include <stdio.h>
-
 int
 main (int argc, char **argv)
 {
@@ -24,6 +23,7 @@ main (int argc, char **argv)
 
   acc_free (d);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N);
 
   free (h);
@@ -31,5 +31,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
index b16e9e6..c658dd6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -18,10 +19,12 @@ main (int argc, char **argv)
 
   acc_shutdown (devtype);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_shutdown (devtype);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "no device initialized" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
index 3e86154..4f8e14c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N + 1);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
index 7fb34e3..d908700 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, 0);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
index b0d4df8..a6c0197 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h + 1, N - 1);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
index 64334ec..2339dd6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -28,6 +29,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h2, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h1, N + N);
 
   free (h1);
@@ -36,5 +38,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
index 17f4a19..bb709d3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (h, N);
   if (!d)
     abort ();
@@ -27,5 +29,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
index 41d560e..8e1a911 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (h, 0);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
index 9d9d739..c61f62e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (0, N);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
index 07d13d7..9304daa 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (0, N);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
index da01194..92e3858 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (h, 0);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
index d5f390d..7118797 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -7,11 +8,13 @@ main (int argc, char **argv)
 {
   acc_init (acc_device_host);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_shutdown (acc_device_not_host);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* TODO: currently prints: "libgomp: no device found".  */
 /* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" { xfail *-*-* } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
index 9e34058..e81627d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (h, N - 2);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
index 536e2ae..031c731 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d1)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   d2 = acc_present_or_create (h + 2, N);
   if (!d2)
     abort ();
@@ -30,5 +32,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
index fc90136..5e0a0e9 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_create (0, N);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
index d0587ae..8ff61c7 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_create (h, 0);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
index 01fdd90..39fc15a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -19,6 +20,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_copyin (0, N);
   if (!d)
     abort ();
@@ -38,5 +40,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
index 3bb9ea5..452ed29 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
@@ -1,14 +1,17 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
 main (int argc, char **argv)
 {
+  fprintf (stderr, "CheCKpOInT\n");
   acc_init ((acc_device_t) 99);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown device type \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
index 5a19898..f4ab6d8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -20,6 +21,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_copyin (h, 0);
   if (!d)
     abort ();
@@ -39,5 +41,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index b74addd..95c4162 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -17,6 +18,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (h, N);
 
   acc_copyout (h, N);
@@ -32,6 +34,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* TODO: currently doesn't print anything; SIGSEGV.
    <https://gcc.gnu.org/PR66518>.  */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
index 45d4988..0d593f0 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -27,6 +28,7 @@ main (int argc, char **argv)
       h[i] = 0xab;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (0, N);
 
   acc_copyout (h, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
index abe2b9e..e98ecc4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -27,6 +28,7 @@ main (int argc, char **argv)
       h[i] = 0xab;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (h, 0);
 
   acc_copyout (h, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
index 2b3730b..f26fc33 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_self (0, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
index febe022..253ce59 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_self (h, 0);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
index 39845e8..cfbb077 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (0, d, N);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
index bed9323..5de376d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (h, 0, N);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
index 20fd175..3e621c3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (h, d, 0);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
index 69ab79f..971a014 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,8 +15,14 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+#if ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_map_data (h, d, N);
 
+#if !ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_unmap_data (d);
 
   acc_free (d);
@@ -25,6 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
index 9b1ecd9..fedda77 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,8 +15,14 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+#if ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_map_data (h, d, N);
 
+#if !ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_unmap_data (0);
 
   acc_free (d);
@@ -25,6 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
index 2988b5b..ace4b05 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, h, N << 1);
 
   acc_memcpy_from_device (h, d, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid size" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
index 69c061e..a3fa728 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (0, h, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
index 6a785b0..b57f67a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, 0, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
index 0f2f9eb..0fca821 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, d, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host or device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
index 31b8c1f..ec3c2a5 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_from_device (0, d, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
index dc39770..f109034 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_from_device (h, 0, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
index e8584db..c85e824 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
@@ -92,6 +92,7 @@ main (int argc, char **argv)
       abort ();
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   if (acc_async_test (1) != 0)
     {
       fprintf (stderr, "asynchronous operation not running\n");
@@ -116,5 +117,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown async \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
index 35a0980..f4f196d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
@@ -98,6 +98,7 @@ main (int argc, char **argv)
       abort ();
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_wait (1);
 
   atime = stop_timer (0);
@@ -132,5 +133,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown async \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
index d521331..9a9a837 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
@@ -105,6 +105,7 @@ main (int argc, char **argv)
 	}
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_wait_async (1, 1);
 
   acc_wait (1);
@@ -129,5 +130,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "identical parameters" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
index d8fcb71..61c8109 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
@@ -21,6 +21,7 @@ main (int argc, char **argv)
     d = (float *) acc_malloc (N * sizeof (float));
     acc_map_data (c, d, N * sizeof (float));
 
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data present (a[0:N]) present (c[0:N]) present (b[0:N])
     {
 #pragma acc parallel
@@ -45,5 +46,7 @@ main (int argc, char **argv)
 
     return 0;
 }
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "present clause: !acc_is_present" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
index 52b030b..b38303d 100644
--- libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
+++ libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
@@ -1,10 +1,12 @@
-! { dg-shouldfail "" { *-*-* } { "*" } { "" } }
-
 program main
   implicit none
 
+  print *, "CheCKpOInT"
   !$acc parallel
   call abort
   !$acc end parallel
 
 end program main
+
+! { dg-output "CheCKpOInT" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
index fc08fd5..6f0dc40 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
@@ -6,12 +6,14 @@
       INTEGER I
 
       CALL ACC_COPYIN (I)
-
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
 !$ACC DATA COPY (I)
       I = 0
 !$ACC END DATA
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
index b8a82b5..c93194d 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
@@ -5,6 +5,8 @@
       INTEGER I
 
 !$ACC DATA PRESENT_OR_COPY (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
 !$ACC DATA COPYOUT (I)
       I = 0
 !$ACC END DATA
@@ -12,5 +14,6 @@
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
index c41de28..779dd89 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
@@ -6,10 +6,13 @@
       INTEGER I
 
 !$ACC DATA PRESENT_OR_COPY (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
       CALL ACC_COPYIN (I)
 !$ACC END DATA
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
index f54bf58..cf73032 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
@@ -6,9 +6,12 @@
       INTEGER I
 
       CALL ACC_PRESENT_OR_COPYIN (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
       CALL ACC_COPYIN (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
index 9a3e94f..f5cc94b 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
@@ -6,9 +6,12 @@
       INTEGER I
 
 !$ACC ENTER DATA CREATE (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
       CALL ACC_COPYIN (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
index eaf5d98..5d895bf 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
@@ -6,9 +6,12 @@
       INTEGER I
 
       CALL ACC_PRESENT_OR_COPYIN (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
 !$ACC ENTER DATA CREATE (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
index d96bf0b..2217c3a 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
@@ -6,9 +6,12 @@
       INTEGER I
 
 !$ACC ENTER DATA CREATE (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
       CALL ACC_CREATE (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
index 2083809..f4f74c1 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
@@ -5,6 +5,8 @@
       INTEGER I
 
 !$ACC DATA CREATE (I)
+      PRINT *, "CheCKpOInT"
+      CALL FLUSH
 !$ACC PARALLEL COPYIN (I)
       I = 0
 !$ACC END PARALLEL
@@ -12,5 +14,6 @@
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests)
  2015-08-14 11:16   ` Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
@ 2015-08-14 11:19     ` Janne Blomqvist
  2015-08-14 11:20     ` FX
  2015-08-14 16:01     ` Add checkpoint to libgomp dg-shouldfail tests Thomas Schwinge
  2 siblings, 0 replies; 27+ messages in thread
From: Janne Blomqvist @ 2015-08-14 11:19 UTC (permalink / raw)
  To: Thomas Schwinge; +Cc: GCC Patches, Jakub Jelinek, Fortran List, James Norris

On Fri, Aug 14, 2015 at 1:56 PM, Thomas Schwinge
<thomas@codesourcery.com> wrote:
> Hi!
>
> (Can a Fortran person please comment on this: as it's nontrivial to write
> to stderr, let's just write to stdout followed by a flush, which does
> have the same ordering effect -- OK?)

If you want to write to stderr, with gfortran you can just do

  write(0, *) "Foo"

instead of

  print *, "Foo"

(With GFortran, unit=0 corresponds to stderr).




-- 
Janne Blomqvist

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests)
  2015-08-14 11:16   ` Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  2015-08-14 11:19     ` Janne Blomqvist
@ 2015-08-14 11:20     ` FX
  2015-08-14 16:01     ` Add checkpoint to libgomp dg-shouldfail tests Thomas Schwinge
  2 siblings, 0 replies; 27+ messages in thread
From: FX @ 2015-08-14 11:20 UTC (permalink / raw)
  To: Thomas Schwinge; +Cc: gcc-patches, Jakub Jelinek, fortran, James Norris

> (Can a Fortran person please comment on this: as it's nontrivial to write
> to stderr, let's just write to stdout followed by a flush, which does
> have the same ordering effect -- OK?)

Although there are no absolute guarantees on flushing, it should work in practice.

Note that the FLUSH subroutine (as in “call flush”) is nonstandard. The standard way to achieve this is the FLUSH statement:

  use iso_fortran_env, only : output_unit
  flush output_unit

where the first line (“use …”) goes at the very top of the routine/program, above “implicit none”. So the patch for, e.g., libgomp.oacc-fortran/data-already-7.f would be:

Index: libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
===================================================================
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f	(revision 226823)
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f	(working copy)
@@ -1,5 +1,6 @@
 ! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } }
 
+      USE ISO_FORTRAN_ENV, ONLY: OUTPUT_UNIT
       IMPLICIT NONE
       INCLUDE "openacc_lib.h"
 
@@ -7,6 +8,8 @@
 
 !$ACC ENTER DATA CREATE (I)
       CALL ACC_CREATE (I)
+      PRINT *, "CheCKpOInT"
+      FLUSH OUTPUT_UNIT
 
       END
 


I hope this helps,
FX

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests
  2015-08-14 11:16   ` Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
  2015-08-14 11:19     ` Janne Blomqvist
  2015-08-14 11:20     ` FX
@ 2015-08-14 16:01     ` Thomas Schwinge
  2015-09-27 18:07       ` Thomas Schwinge
  2 siblings, 1 reply; 27+ messages in thread
From: Thomas Schwinge @ 2015-08-14 16:01 UTC (permalink / raw)
  To: gcc-patches, Jakub Jelinek; +Cc: James Norris, fortran

[-- Attachment #1: Type: text/plain, Size: 55027 bytes --]

Hi!

On Fri, 14 Aug 2015 12:56:00 +0200, I wrote:
> (Can a Fortran person please comment on this: as it's nontrivial to write
> to stderr, let's just write to stdout followed by a flush, which does
> have the same ordering effect -- OK?)

OK, turns out it's actually not very difficult to write to stderr --
thanks FX and Janne for your suggestions!  Here, I went with Janne's,
which is a little simpler yet sufficient.

> On Thu, 30 Apr 2015 14:47:03 +0200, I wrote:
> > Here is a patch, prepared by Jim Norris, to fix dg-shouldfail usage in
> > OpenACC libgomp tests.  [...]
> 
> (These dg-shouldfail tests are expected to exit with a non-zero exit
> status, and we're checking for a specific messages on stdout/stderr.)
> 
> > As obvious, committed to trunk in r222620:
> > 
> > commit cf9c09c49e63176ff8a1fba429971cb13226260b
> > Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
> > Date:   Thu Apr 30 12:44:39 2015 +0000
> > 
> >     [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
> >     
> >     	PR testsuite/65205
> 
> > --- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> > +++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> > @@ -64,4 +64,5 @@ main (int argc, char **argv)
> >  
> >      return 0;
> >  }
> > -/* { dg-shouldfail "libgomp: \[\h+,\d+\] is not mapped" } */
> > +/* { dg-output "Trying to map into device \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) object when \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) is already mapped" }
> > +/* { dg-shouldfail "" } */
> 
> It once occurred to me that it's also a good idea to verify that we're
> actually reaching the expected checkpoint before terminating -- OK to
> commit?

OK for trunk?

commit 97f963dc86199ef2237fffa6293d4dfdacbd1e59
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Aug 14 17:51:03 2015 +0200

    Add checkpoint to libgomp dg-shouldfail tests
    
    That is, verify that we're actually reaching the expected checkpoint before
    terminating.
---
 libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c       |    5 +++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c       |    5 +++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c     |    3 +++
 .../testsuite/libgomp.oacc-c-c++-common/data-already-1.c    |    3 +++
 .../testsuite/libgomp.oacc-c-c++-common/data-already-2.c    |    8 +++++++-
 .../testsuite/libgomp.oacc-c-c++-common/data-already-3.c    |   11 ++++++++---
 .../testsuite/libgomp.oacc-c-c++-common/data-already-4.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-5.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-6.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-7.c    |    7 +++++--
 .../testsuite/libgomp.oacc-c-c++-common/data-already-8.c    |    8 +++++++-
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c        |    5 +++--
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c         |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c        |    8 ++++++++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c        |    8 ++++++++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c        |    3 +++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c        |    2 ++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c        |    2 ++
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c        |    2 ++
 libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c     |    3 +++
 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90          |    6 ++++--
 libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f     |    3 ++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f     |    2 ++
 libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f     |    4 +++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f     |    4 +++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f     |    4 +++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f     |    4 +++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f     |    4 +++-
 libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f     |    2 ++
 63 files changed, 215 insertions(+), 27 deletions(-)

diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
index f88b9e3..6a9b1df 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
@@ -1,12 +1,11 @@
 /* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
 
 #include <stdlib.h>
 
 int
 main (void)
 {
-
+  __builtin_printf ("CheCKpOInT\n");
 #pragma acc parallel
   {
     abort ();
@@ -15,3 +14,5 @@ main (void)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail ""  } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
index be7aaa8..2c8f347 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
@@ -1,12 +1,11 @@
 /* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
 
 #include <stdlib.h>
 
 int
 main (void)
 {
-
+  __builtin_printf ("CheCKpOInT\n");
 #pragma acc kernels
   {
     abort ();
@@ -15,3 +14,5 @@ main (void)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail ""  } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
index c0a5d00..ff237fe 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
@@ -27,6 +27,7 @@ main (int argc, char **argv)
     d = (float *) acc_malloc (N * sizeof (float));
     acc_map_data (c, d, N * sizeof (float));
 
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc parallel copyin (a[0:N]) present_or_create (c[0:N+1]) copyout (b[0:N])
     {
         int ii;
@@ -64,5 +65,7 @@ main (int argc, char **argv)
 
     return 0;
 }
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
index 0c61a66..0ed53a4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -9,11 +10,13 @@ main (int argc, char *argv[])
 
   acc_copyin (&i, sizeof i);
 
+  fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data copy (i)
   ++i;
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
index cd9fea3..00adf2a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
@@ -1,16 +1,22 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
+
 int
 main (int argc, char *argv[])
 {
   int i;
 
 #pragma acc data present_or_copy (i)
+  {
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data copyout (i)
-  ++i;
+    ++i;
+  }
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
index b993b78..04073e3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,14 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc data present_or_copy (i)
-  acc_copyin (&i, sizeof i);
+  {
+    fprintf (stderr, "CheCKpOInT\n");
+    acc_copyin (&i, sizeof i);
+  }
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
index 82523f4..cfa5cb2 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
   acc_present_or_copyin (&i, sizeof i);
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyin (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
index 4961fe5..e15c3fb 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc enter data create (i)
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyin (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
index 77b56a9..4570c74 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
   acc_present_or_copyin (&i, sizeof i);
+  fprintf (stderr, "CheCKpOInT\n");
 #pragma acc enter data create (i)
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
index b08417b..467cf39 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc enter data create (i)
+  fprintf (stderr, "CheCKpOInT\n");
   acc_create (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
index 7472d7f..f41431c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
@@ -1,16 +1,22 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
+
 int
 main (int argc, char *argv[])
 {
   int i;
 
 #pragma acc data create (i)
+  {
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc parallel copyin (i)
-  ++i;
+    ++i;
+  }
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
index 5ff23b2..26318f1 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -16,10 +17,12 @@ main (int argc, char **argv)
 
   acc_init (devtype);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_init (devtype);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "device already active" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
index e34a876e..86cfeb6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
@@ -1,6 +1,7 @@
 /* Only nvptx plugin does the required error checking.
    { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 #include <stdint.h>
@@ -15,10 +16,12 @@ main (int argc, char **argv)
   if (d == NULL)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_free ((void *)((uintptr_t) d + (uintptr_t) (N >> 1)));
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
index d6f6559..28e4e5c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   (void) acc_copyin (h, N);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
index d20ad6a..7d1767e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   acc_copyout (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N);
 
   free (h);
@@ -28,5 +30,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
index a3cb59a..160b33c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
@@ -1,10 +1,9 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
-#include <stdio.h>
-
 int
 main (int argc, char **argv)
 {
@@ -24,6 +23,7 @@ main (int argc, char **argv)
 
   acc_free (d);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N);
 
   free (h);
@@ -31,5 +31,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
index b16e9e6..c658dd6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -18,10 +19,12 @@ main (int argc, char **argv)
 
   acc_shutdown (devtype);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_shutdown (devtype);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "no device initialized" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
index 3e86154..4f8e14c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N + 1);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
index 7fb34e3..d908700 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, 0);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
index b0d4df8..a6c0197 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h + 1, N - 1);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
index 64334ec..2339dd6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -28,6 +29,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h2, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h1, N + N);
 
   free (h1);
@@ -36,5 +38,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
index 17f4a19..bb709d3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (h, N);
   if (!d)
     abort ();
@@ -27,5 +29,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
index 41d560e..8e1a911 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (h, 0);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
index 9d9d739..c61f62e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (0, N);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
index 07d13d7..9304daa 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (0, N);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
index da01194..92e3858 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (h, 0);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
index d5f390d..7118797 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -7,11 +8,13 @@ main (int argc, char **argv)
 {
   acc_init (acc_device_host);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_shutdown (acc_device_not_host);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* TODO: currently prints: "libgomp: no device found".  */
 /* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" { xfail *-*-* } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
index 9e34058..e81627d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (h, N - 2);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
index 536e2ae..031c731 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d1)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   d2 = acc_present_or_create (h + 2, N);
   if (!d2)
     abort ();
@@ -30,5 +32,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
index fc90136..5e0a0e9 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_create (0, N);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
index d0587ae..8ff61c7 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_create (h, 0);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
index 01fdd90..39fc15a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -19,6 +20,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_copyin (0, N);
   if (!d)
     abort ();
@@ -38,5 +40,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
index 3bb9ea5..452ed29 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
@@ -1,14 +1,17 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
 main (int argc, char **argv)
 {
+  fprintf (stderr, "CheCKpOInT\n");
   acc_init ((acc_device_t) 99);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown device type \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
index 5a19898..f4ab6d8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -20,6 +21,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_copyin (h, 0);
   if (!d)
     abort ();
@@ -39,5 +41,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index b74addd..95c4162 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -17,6 +18,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (h, N);
 
   acc_copyout (h, N);
@@ -32,6 +34,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* TODO: currently doesn't print anything; SIGSEGV.
    <https://gcc.gnu.org/PR66518>.  */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
index 45d4988..0d593f0 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -27,6 +28,7 @@ main (int argc, char **argv)
       h[i] = 0xab;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (0, N);
 
   acc_copyout (h, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
index abe2b9e..e98ecc4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -27,6 +28,7 @@ main (int argc, char **argv)
       h[i] = 0xab;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (h, 0);
 
   acc_copyout (h, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
index 2b3730b..f26fc33 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_self (0, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
index febe022..253ce59 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_self (h, 0);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
index 39845e8..cfbb077 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (0, d, N);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
index bed9323..5de376d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (h, 0, N);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
index 20fd175..3e621c3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (h, d, 0);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
index 69ab79f..971a014 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,8 +15,14 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+#if ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_map_data (h, d, N);
 
+#if !ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_unmap_data (d);
 
   acc_free (d);
@@ -25,6 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
index 9b1ecd9..fedda77 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,8 +15,14 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+#if ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_map_data (h, d, N);
 
+#if !ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_unmap_data (0);
 
   acc_free (d);
@@ -25,6 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
index 2988b5b..ace4b05 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, h, N << 1);
 
   acc_memcpy_from_device (h, d, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid size" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
index 69c061e..a3fa728 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (0, h, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
index 6a785b0..b57f67a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, 0, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
index 0f2f9eb..0fca821 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, d, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host or device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
index 31b8c1f..ec3c2a5 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_from_device (0, d, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
index dc39770..f109034 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_from_device (h, 0, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
index e8584db..c85e824 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
@@ -92,6 +92,7 @@ main (int argc, char **argv)
       abort ();
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   if (acc_async_test (1) != 0)
     {
       fprintf (stderr, "asynchronous operation not running\n");
@@ -116,5 +117,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown async \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
index 35a0980..f4f196d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
@@ -98,6 +98,7 @@ main (int argc, char **argv)
       abort ();
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_wait (1);
 
   atime = stop_timer (0);
@@ -132,5 +133,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown async \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
index d521331..9a9a837 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
@@ -105,6 +105,7 @@ main (int argc, char **argv)
 	}
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_wait_async (1, 1);
 
   acc_wait (1);
@@ -129,5 +130,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "identical parameters" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
index d8fcb71..61c8109 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
@@ -21,6 +21,7 @@ main (int argc, char **argv)
     d = (float *) acc_malloc (N * sizeof (float));
     acc_map_data (c, d, N * sizeof (float));
 
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data present (a[0:N]) present (c[0:N]) present (b[0:N])
     {
 #pragma acc parallel
@@ -45,5 +46,7 @@ main (int argc, char **argv)
 
     return 0;
 }
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "present clause: !acc_is_present" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
index 52b030b..b38303d 100644
--- libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
+++ libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
@@ -1,10 +1,12 @@
-! { dg-shouldfail "" { *-*-* } { "*" } { "" } }
-
 program main
   implicit none
 
+  print *, "CheCKpOInT"
   !$acc parallel
   call abort
   !$acc end parallel
 
 end program main
+
+! { dg-output "CheCKpOInT" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
index fc08fd5..9e99cc6 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
@@ -6,12 +6,13 @@
       INTEGER I
 
       CALL ACC_COPYIN (I)
-
+      WRITE(0, *) "CheCKpOInT"
 !$ACC DATA COPY (I)
       I = 0
 !$ACC END DATA
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
index b8a82b5..b908a0c 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
@@ -5,6 +5,7 @@
       INTEGER I
 
 !$ACC DATA PRESENT_OR_COPY (I)
+      WRITE(0, *) "CheCKpOInT"
 !$ACC DATA COPYOUT (I)
       I = 0
 !$ACC END DATA
@@ -12,5 +13,6 @@
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
index c41de28..d93e1c5 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
@@ -6,10 +6,12 @@
       INTEGER I
 
 !$ACC DATA PRESENT_OR_COPY (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_COPYIN (I)
 !$ACC END DATA
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
index f54bf58..ea76e05 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
@@ -6,9 +6,11 @@
       INTEGER I
 
       CALL ACC_PRESENT_OR_COPYIN (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_COPYIN (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
index 9a3e94f..19df1f8 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
@@ -6,9 +6,11 @@
       INTEGER I
 
 !$ACC ENTER DATA CREATE (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_COPYIN (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
index eaf5d98..2bd1079 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
@@ -6,9 +6,11 @@
       INTEGER I
 
       CALL ACC_PRESENT_OR_COPYIN (I)
+      WRITE(0, *) "CheCKpOInT"
 !$ACC ENTER DATA CREATE (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
index d96bf0b..1342360 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
@@ -6,9 +6,11 @@
       INTEGER I
 
 !$ACC ENTER DATA CREATE (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_CREATE (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
index 2083809..b206547 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
@@ -5,6 +5,7 @@
       INTEGER I
 
 !$ACC DATA CREATE (I)
+      WRITE(0, *) "CheCKpOInT"
 !$ACC PARALLEL COPYIN (I)
       I = 0
 !$ACC END PARALLEL
@@ -12,5 +13,6 @@
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }


Grüße,
 Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests
  2015-08-14 16:01     ` Add checkpoint to libgomp dg-shouldfail tests Thomas Schwinge
@ 2015-09-27 18:07       ` Thomas Schwinge
  2015-09-27 19:34         ` FX
  2015-09-27 19:57         ` Jakub Jelinek
  0 siblings, 2 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-09-27 18:07 UTC (permalink / raw)
  To: gcc-patches, Jakub Jelinek; +Cc: fortran

[-- Attachment #1: Type: text/plain, Size: 58414 bytes --]

Hi!

Ping.

On Fri, 14 Aug 2015 17:53:52 +0200, I wrote:
> On Fri, 14 Aug 2015 12:56:00 +0200, I wrote:
> > (Can a Fortran person please comment on this: as it's nontrivial to write
> > to stderr, let's just write to stdout followed by a flush, which does
> > have the same ordering effect -- OK?)
> 
> OK, turns out it's actually not very difficult to write to stderr --
> thanks FX and Janne for your suggestions!  Here, I went with Janne's,
> which is a little simpler yet sufficient.
> 
> > On Thu, 30 Apr 2015 14:47:03 +0200, I wrote:
> > > Here is a patch, prepared by Jim Norris, to fix dg-shouldfail usage in
> > > OpenACC libgomp tests.  [...]
> > 
> > (These dg-shouldfail tests are expected to exit with a non-zero exit
> > status, and we're checking for a specific messages on stdout/stderr.)
> > 
> > > As obvious, committed to trunk in r222620:
> > > 
> > > commit cf9c09c49e63176ff8a1fba429971cb13226260b
> > > Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
> > > Date:   Thu Apr 30 12:44:39 2015 +0000
> > > 
> > >     [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
> > >     
> > >     	PR testsuite/65205
> > 
> > > --- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> > > +++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> > > @@ -64,4 +64,5 @@ main (int argc, char **argv)
> > >  
> > >      return 0;
> > >  }
> > > -/* { dg-shouldfail "libgomp: \[\h+,\d+\] is not mapped" } */
> > > +/* { dg-output "Trying to map into device \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) object when \\\[0x\[0-9a-f\]+..0x\[0-9a-f\]+\\\) is already mapped" }
> > > +/* { dg-shouldfail "" } */
> > 
> > It once occurred to me that it's also a good idea to verify that we're
> > actually reaching the expected checkpoint before terminating -- OK to
> > commit?
> 
> OK for trunk?
> 
> commit 97f963dc86199ef2237fffa6293d4dfdacbd1e59
> Author: Thomas Schwinge <thomas@codesourcery.com>
> Date:   Fri Aug 14 17:51:03 2015 +0200
> 
>     Add checkpoint to libgomp dg-shouldfail tests
>     
>     That is, verify that we're actually reaching the expected checkpoint before
>     terminating.
> ---
>  libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c       |    5 +++--
>  libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c       |    5 +++--
>  libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c     |    3 +++
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-1.c    |    3 +++
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-2.c    |    8 +++++++-
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-3.c    |   11 ++++++++---
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-4.c    |    7 +++++--
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-5.c    |    7 +++++--
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-6.c    |    7 +++++--
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-7.c    |    7 +++++--
>  .../testsuite/libgomp.oacc-c-c++-common/data-already-8.c    |    8 +++++++-
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c         |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c        |    5 +++--
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c         |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c         |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c         |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c        |    8 ++++++++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c        |    8 ++++++++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c        |    3 +++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c        |    2 ++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c        |    2 ++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c        |    2 ++
>  libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c     |    3 +++
>  libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90          |    6 ++++--
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f     |    3 ++-
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f     |    2 ++
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f     |    4 +++-
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f     |    4 +++-
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f     |    4 +++-
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f     |    4 +++-
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f     |    4 +++-
>  libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f     |    2 ++
>  63 files changed, 215 insertions(+), 27 deletions(-)
> 
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
> index f88b9e3..6a9b1df 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
> @@ -1,12 +1,11 @@
>  /* { dg-do run } */
> -/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
>  
>  #include <stdlib.h>
>  
>  int
>  main (void)
>  {
> -
> +  __builtin_printf ("CheCKpOInT\n");
>  #pragma acc parallel
>    {
>      abort ();
> @@ -15,3 +14,5 @@ main (void)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT" } */
> +/* { dg-shouldfail ""  } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
> index be7aaa8..2c8f347 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
> @@ -1,12 +1,11 @@
>  /* { dg-do run } */
> -/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
>  
>  #include <stdlib.h>
>  
>  int
>  main (void)
>  {
> -
> +  __builtin_printf ("CheCKpOInT\n");
>  #pragma acc kernels
>    {
>      abort ();
> @@ -15,3 +14,5 @@ main (void)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT" } */
> +/* { dg-shouldfail ""  } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> index c0a5d00..ff237fe 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
> @@ -27,6 +27,7 @@ main (int argc, char **argv)
>      d = (float *) acc_malloc (N * sizeof (float));
>      acc_map_data (c, d, N * sizeof (float));
>  
> +    fprintf (stderr, "CheCKpOInT\n");
>  #pragma acc parallel copyin (a[0:N]) present_or_create (c[0:N+1]) copyout (b[0:N])
>      {
>          int ii;
> @@ -64,5 +65,7 @@ main (int argc, char **argv)
>  
>      return 0;
>  }
> +
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
> index 0c61a66..0ed53a4 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
> @@ -1,5 +1,6 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -9,11 +10,13 @@ main (int argc, char *argv[])
>  
>    acc_copyin (&i, sizeof i);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>  #pragma acc data copy (i)
>    ++i;
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
> index cd9fea3..00adf2a 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
> @@ -1,16 +1,22 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
> +
>  int
>  main (int argc, char *argv[])
>  {
>    int i;
>  
>  #pragma acc data present_or_copy (i)
> +  {
> +    fprintf (stderr, "CheCKpOInT\n");
>  #pragma acc data copyout (i)
> -  ++i;
> +    ++i;
> +  }
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
> index b993b78..04073e3 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
> @@ -1,5 +1,6 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -8,10 +9,14 @@ main (int argc, char *argv[])
>    int i;
>  
>  #pragma acc data present_or_copy (i)
> -  acc_copyin (&i, sizeof i);
> +  {
> +    fprintf (stderr, "CheCKpOInT\n");
> +    acc_copyin (&i, sizeof i);
> +  }
>  
>    return 0;
>  }
>  
> -/* { dg-shouldfail "" }
> -   { dg-output "already mapped to" } */
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
> +/* { dg-output "already mapped to" } */
> +/* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
> index 82523f4..cfa5cb2 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
> @@ -1,5 +1,6 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -8,10 +9,12 @@ main (int argc, char *argv[])
>    int i;
>  
>    acc_present_or_copyin (&i, sizeof i);
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyin (&i, sizeof i);
>  
>    return 0;
>  }
>  
> -/* { dg-shouldfail "" }
> -   { dg-output "already mapped to" } */
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
> +/* { dg-output "already mapped to" } */
> +/* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
> index 4961fe5..e15c3fb 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
> @@ -1,5 +1,6 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -8,10 +9,12 @@ main (int argc, char *argv[])
>    int i;
>  
>  #pragma acc enter data create (i)
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyin (&i, sizeof i);
>  
>    return 0;
>  }
>  
> -/* { dg-shouldfail "" }
> -   { dg-output "already mapped to" } */
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
> +/* { dg-output "already mapped to" } */
> +/* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
> index 77b56a9..4570c74 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
> @@ -1,5 +1,6 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -8,10 +9,12 @@ main (int argc, char *argv[])
>    int i;
>  
>    acc_present_or_copyin (&i, sizeof i);
> +  fprintf (stderr, "CheCKpOInT\n");
>  #pragma acc enter data create (i)
>  
>    return 0;
>  }
>  
> -/* { dg-shouldfail "" }
> -   { dg-output "already mapped to" } */
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
> +/* { dg-output "already mapped to" } */
> +/* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
> index b08417b..467cf39 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
> @@ -1,5 +1,6 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -8,10 +9,12 @@ main (int argc, char *argv[])
>    int i;
>  
>  #pragma acc enter data create (i)
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_create (&i, sizeof i);
>  
>    return 0;
>  }
>  
> -/* { dg-shouldfail "" }
> -   { dg-output "already mapped to" } */
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
> +/* { dg-output "already mapped to" } */
> +/* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
> index 7472d7f..f41431c 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
> @@ -1,16 +1,22 @@
>  /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
>  
> +#include <stdio.h>
> +
>  int
>  main (int argc, char *argv[])
>  {
>    int i;
>  
>  #pragma acc data create (i)
> +  {
> +    fprintf (stderr, "CheCKpOInT\n");
>  #pragma acc parallel copyin (i)
> -  ++i;
> +    ++i;
> +  }
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
> index 5ff23b2..26318f1 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -16,10 +17,12 @@ main (int argc, char **argv)
>  
>    acc_init (devtype);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_init (devtype);
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "device already active" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
> index e34a876e..86cfeb6 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
> @@ -1,6 +1,7 @@
>  /* Only nvptx plugin does the required error checking.
>     { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  #include <stdint.h>
> @@ -15,10 +16,12 @@ main (int argc, char **argv)
>    if (d == NULL)
>      abort ();
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_free ((void *)((uintptr_t) d + (uintptr_t) (N >> 1)));
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid device address" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
> index d6f6559..28e4e5c 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -19,6 +20,7 @@ main (int argc, char **argv)
>  
>    (void) acc_copyin (h, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    (void) acc_copyin (h, N);
>  
>    free (h);
> @@ -26,5 +28,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
> index d20ad6a..7d1767e 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -21,6 +22,7 @@ main (int argc, char **argv)
>  
>    acc_copyout (h, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyout (h, N);
>  
>    free (h);
> @@ -28,5 +30,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
> index a3cb59a..160b33c 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
> @@ -1,10 +1,9 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> -#include <stdio.h>
> -
>  int
>  main (int argc, char **argv)
>  {
> @@ -24,6 +23,7 @@ main (int argc, char **argv)
>  
>    acc_free (d);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyout (h, N);
>  
>    free (h);
> @@ -31,5 +31,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
> index b16e9e6..c658dd6 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -18,10 +19,12 @@ main (int argc, char **argv)
>  
>    acc_shutdown (devtype);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_shutdown (devtype);
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "no device initialized" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
> index 3e86154..4f8e14c 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -19,6 +20,7 @@ main (int argc, char **argv)
>  
>    (void) acc_copyin (h, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyout (h, N + 1);
>  
>    free (h);
> @@ -26,5 +28,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
> index 7fb34e3..d908700 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -19,6 +20,7 @@ main (int argc, char **argv)
>  
>    (void) acc_copyin (h, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyout (h, 0);
>  
>    free (h);
> @@ -26,5 +28,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
> index b0d4df8..a6c0197 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -19,6 +20,7 @@ main (int argc, char **argv)
>  
>    (void) acc_copyin (h, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyout (h + 1, N - 1);
>  
>    free (h);
> @@ -26,5 +28,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
> index 64334ec..2339dd6 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -28,6 +29,7 @@ main (int argc, char **argv)
>  
>    (void) acc_copyin (h2, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_copyout (h1, N + N);
>  
>    free (h1);
> @@ -36,5 +38,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
> index 17f4a19..bb709d3 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -16,6 +17,7 @@ main (int argc, char **argv)
>    if (!d)
>      abort ();
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_create (h, N);
>    if (!d)
>      abort ();
> @@ -27,5 +29,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
> index 41d560e..8e1a911 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -12,6 +13,7 @@ main (int argc, char **argv)
>  
>    h = (unsigned char *) malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_create (h, 0);
>    if (!d)
>      abort ();
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
> index 9d9d739..c61f62e 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -12,6 +13,7 @@ main (int argc, char **argv)
>  
>    h = (unsigned char *) malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_create (0, N);
>    if (!d)
>      abort ();
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
> index 07d13d7..9304daa 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -16,6 +17,7 @@ main (int argc, char **argv)
>    if (!d)
>      abort ();
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_delete (0, N);
>  
>    free (h);
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
> index da01194..92e3858 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -16,6 +17,7 @@ main (int argc, char **argv)
>    if (!d)
>      abort ();
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_delete (h, 0);
>  
>    free (h);
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
> index d5f390d..7118797 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
> @@ -7,11 +8,13 @@ main (int argc, char **argv)
>  {
>    acc_init (acc_device_host);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_shutdown (acc_device_not_host);
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* TODO: currently prints: "libgomp: no device found".  */
>  /* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" { xfail *-*-* } } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
> index 9e34058..e81627d 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -16,6 +17,7 @@ main (int argc, char **argv)
>    if (!d)
>      abort ();
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_delete (h, N - 2);
>  
>    free (h);
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
> index 536e2ae..031c731 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -16,6 +17,7 @@ main (int argc, char **argv)
>    if (!d1)
>      abort ();
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d2 = acc_present_or_create (h + 2, N);
>    if (!d2)
>      abort ();
> @@ -30,5 +32,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
> index fc90136..5e0a0e9 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -12,6 +13,7 @@ main (int argc, char **argv)
>  
>    h = (unsigned char *) malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_present_or_create (0, N);
>    if (!d)
>      abort ();
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
> index d0587ae..8ff61c7 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -12,6 +13,7 @@ main (int argc, char **argv)
>  
>    h = (unsigned char *) malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_present_or_create (h, 0);
>    if (!d)
>      abort ();
> @@ -23,5 +25,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
> index 01fdd90..39fc15a 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -19,6 +20,7 @@ main (int argc, char **argv)
>        h[i] = i;
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_present_or_copyin (0, N);
>    if (!d)
>      abort ();
> @@ -38,5 +40,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
> index 3bb9ea5..452ed29 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
> @@ -1,14 +1,17 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <openacc.h>
>  
>  int
>  main (int argc, char **argv)
>  {
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_init ((acc_device_t) 99);
>  
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "unknown device type \[0-9\]+" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
> index 5a19898..f4ab6d8 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <string.h>
>  #include <unistd.h>
> @@ -20,6 +21,7 @@ main (int argc, char **argv)
>        h[i] = i;
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    d = acc_present_or_copyin (h, 0);
>    if (!d)
>      abort ();
> @@ -39,5 +41,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
> index b74addd..95c4162 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -17,6 +18,7 @@ main (int argc, char **argv)
>        h[i] = i;
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_update_device (h, N);
>  
>    acc_copyout (h, N);
> @@ -32,6 +34,7 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* TODO: currently doesn't print anything; SIGSEGV.
>     <https://gcc.gnu.org/PR66518>.  */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
> index 45d4988..0d593f0 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -27,6 +28,7 @@ main (int argc, char **argv)
>        h[i] = 0xab;
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_update_device (0, N);
>  
>    acc_copyout (h, N);
> @@ -42,5 +44,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
> index abe2b9e..e98ecc4 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -27,6 +28,7 @@ main (int argc, char **argv)
>        h[i] = 0xab;
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_update_device (h, 0);
>  
>    acc_copyout (h, N);
> @@ -42,5 +44,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
> index 2b3730b..f26fc33 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -25,6 +26,7 @@ main (int argc, char **argv)
>  
>    memset (&h[0], 0, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_update_self (0, N);
>  
>    for (i = 0; i < N; i++)
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
> index febe022..253ce59 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -25,6 +26,7 @@ main (int argc, char **argv)
>  
>    memset (&h[0], 0, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_update_self (h, 0);
>  
>    for (i = 0; i < N; i++)
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
> index 39845e8..cfbb077 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -14,6 +15,7 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_map_data (0, d, N);
>  
>    acc_unmap_data (h);
> @@ -25,6 +27,7 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
>  /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
> index bed9323..5de376d 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -14,6 +15,7 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_map_data (h, 0, N);
>  
>    acc_unmap_data (h);
> @@ -25,6 +27,7 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
>  /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
> index 20fd175..3e621c3 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -14,6 +15,7 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_map_data (h, d, 0);
>  
>    acc_unmap_data (h);
> @@ -25,6 +27,7 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
>  /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
> index 69ab79f..971a014 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -14,8 +15,14 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +#if ACC_MEM_SHARED
> +  fprintf (stderr, "CheCKpOInT\n");
> +#endif
>    acc_map_data (h, d, N);
>  
> +#if !ACC_MEM_SHARED
> +  fprintf (stderr, "CheCKpOInT\n");
> +#endif
>    acc_unmap_data (d);
>  
>    acc_free (d);
> @@ -25,6 +32,7 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
>  /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
> index 9b1ecd9..fedda77 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run } */
>  
> +#include <stdio.h>
>  #include <stdlib.h>
>  #include <openacc.h>
>  
> @@ -14,8 +15,14 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +#if ACC_MEM_SHARED
> +  fprintf (stderr, "CheCKpOInT\n");
> +#endif
>    acc_map_data (h, d, N);
>  
> +#if !ACC_MEM_SHARED
> +  fprintf (stderr, "CheCKpOInT\n");
> +#endif
>    acc_unmap_data (0);
>  
>    acc_free (d);
> @@ -25,6 +32,7 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
>  /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
> index 2988b5b..ace4b05 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -25,6 +26,7 @@ main (int argc, char **argv)
>  
>    memset (&h[0], 0, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_memcpy_to_device (d, h, N << 1);
>  
>    acc_memcpy_from_device (h, d, N);
> @@ -42,5 +44,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid size" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
> index 69c061e..a3fa728 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -21,6 +22,7 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_memcpy_to_device (0, h, N);
>  
>    memset (&h[0], 0, N);
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid device address" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
> index 6a785b0..b57f67a 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -21,6 +22,7 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_memcpy_to_device (d, 0, N);
>  
>    memset (&h[0], 0, N);
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid host address" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
> index 0f2f9eb..0fca821 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -21,6 +22,7 @@ main (int argc, char **argv)
>  
>    d = acc_malloc (N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_memcpy_to_device (d, d, N);
>  
>    memset (&h[0], 0, N);
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid host or device address" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
> index 31b8c1f..ec3c2a5 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -25,6 +26,7 @@ main (int argc, char **argv)
>  
>    memset (&h[0], 0, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_memcpy_from_device (0, d, N);
>  
>    for (i = 0; i < N; i++)
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid host address" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
> index dc39770..f109034 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
> @@ -1,5 +1,6 @@
>  /* { dg-do run { target openacc_nvidia_accel_selected } } */
>  
> +#include <stdio.h>
>  #include <string.h>
>  #include <stdlib.h>
>  #include <openacc.h>
> @@ -25,6 +26,7 @@ main (int argc, char **argv)
>  
>    memset (&h[0], 0, N);
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_memcpy_from_device (h, 0, N);
>  
>    for (i = 0; i < N; i++)
> @@ -40,5 +42,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "invalid device address" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
> index e8584db..c85e824 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
> @@ -92,6 +92,7 @@ main (int argc, char **argv)
>        abort ();
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    if (acc_async_test (1) != 0)
>      {
>        fprintf (stderr, "asynchronous operation not running\n");
> @@ -116,5 +117,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "unknown async \[0-9\]+" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
> index 35a0980..f4f196d 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
> @@ -98,6 +98,7 @@ main (int argc, char **argv)
>        abort ();
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_wait (1);
>  
>    atime = stop_timer (0);
> @@ -132,5 +133,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "unknown async \[0-9\]+" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
> index d521331..9a9a837 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
> @@ -105,6 +105,7 @@ main (int argc, char **argv)
>  	}
>      }
>  
> +  fprintf (stderr, "CheCKpOInT\n");
>    acc_wait_async (1, 1);
>  
>    acc_wait (1);
> @@ -129,5 +130,6 @@ main (int argc, char **argv)
>    return 0;
>  }
>  
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "identical parameters" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
> index d8fcb71..61c8109 100644
> --- libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
> +++ libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
> @@ -21,6 +21,7 @@ main (int argc, char **argv)
>      d = (float *) acc_malloc (N * sizeof (float));
>      acc_map_data (c, d, N * sizeof (float));
>  
> +    fprintf (stderr, "CheCKpOInT\n");
>  #pragma acc data present (a[0:N]) present (c[0:N]) present (b[0:N])
>      {
>  #pragma acc parallel
> @@ -45,5 +46,7 @@ main (int argc, char **argv)
>  
>      return 0;
>  }
> +
> +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
>  /* { dg-output "present clause: !acc_is_present" } */
>  /* { dg-shouldfail "" } */
> diff --git libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
> index 52b030b..b38303d 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
> +++ libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
> @@ -1,10 +1,12 @@
> -! { dg-shouldfail "" { *-*-* } { "*" } { "" } }
> -
>  program main
>    implicit none
>  
> +  print *, "CheCKpOInT"
>    !$acc parallel
>    call abort
>    !$acc end parallel
>  
>  end program main
> +
> +! { dg-output "CheCKpOInT" }
> +! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
> index fc08fd5..9e99cc6 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
> @@ -6,12 +6,13 @@
>        INTEGER I
>  
>        CALL ACC_COPYIN (I)
> -
> +      WRITE(0, *) "CheCKpOInT"
>  !$ACC DATA COPY (I)
>        I = 0
>  !$ACC END DATA
>  
>        END
>  
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
>  ! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
> index b8a82b5..b908a0c 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
> @@ -5,6 +5,7 @@
>        INTEGER I
>  
>  !$ACC DATA PRESENT_OR_COPY (I)
> +      WRITE(0, *) "CheCKpOInT"
>  !$ACC DATA COPYOUT (I)
>        I = 0
>  !$ACC END DATA
> @@ -12,5 +13,6 @@
>  
>        END
>  
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
>  ! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
> index c41de28..d93e1c5 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
> @@ -6,10 +6,12 @@
>        INTEGER I
>  
>  !$ACC DATA PRESENT_OR_COPY (I)
> +      WRITE(0, *) "CheCKpOInT"
>        CALL ACC_COPYIN (I)
>  !$ACC END DATA
>  
>        END
>  
> -! { dg-shouldfail "" }
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "already mapped to" }
> +! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
> index f54bf58..ea76e05 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
> @@ -6,9 +6,11 @@
>        INTEGER I
>  
>        CALL ACC_PRESENT_OR_COPYIN (I)
> +      WRITE(0, *) "CheCKpOInT"
>        CALL ACC_COPYIN (I)
>  
>        END
>  
> -! { dg-shouldfail "" }
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "already mapped to" }
> +! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
> index 9a3e94f..19df1f8 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
> @@ -6,9 +6,11 @@
>        INTEGER I
>  
>  !$ACC ENTER DATA CREATE (I)
> +      WRITE(0, *) "CheCKpOInT"
>        CALL ACC_COPYIN (I)
>  
>        END
>  
> -! { dg-shouldfail "" }
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "already mapped to" }
> +! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
> index eaf5d98..2bd1079 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
> @@ -6,9 +6,11 @@
>        INTEGER I
>  
>        CALL ACC_PRESENT_OR_COPYIN (I)
> +      WRITE(0, *) "CheCKpOInT"
>  !$ACC ENTER DATA CREATE (I)
>  
>        END
>  
> -! { dg-shouldfail "" }
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "already mapped to" }
> +! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
> index d96bf0b..1342360 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
> @@ -6,9 +6,11 @@
>        INTEGER I
>  
>  !$ACC ENTER DATA CREATE (I)
> +      WRITE(0, *) "CheCKpOInT"
>        CALL ACC_CREATE (I)
>  
>        END
>  
> -! { dg-shouldfail "" }
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "already mapped to" }
> +! { dg-shouldfail "" }
> diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
> index 2083809..b206547 100644
> --- libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
> +++ libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
> @@ -5,6 +5,7 @@
>        INTEGER I
>  
>  !$ACC DATA CREATE (I)
> +      WRITE(0, *) "CheCKpOInT"
>  !$ACC PARALLEL COPYIN (I)
>        I = 0
>  !$ACC END PARALLEL
> @@ -12,5 +13,6 @@
>  
>        END
>  
> +! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
>  ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
>  ! { dg-shouldfail "" }


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests
  2015-09-27 18:07       ` Thomas Schwinge
@ 2015-09-27 19:34         ` FX
  2015-09-27 19:57         ` Jakub Jelinek
  1 sibling, 0 replies; 27+ messages in thread
From: FX @ 2015-09-27 19:34 UTC (permalink / raw)
  To: Thomas Schwinge; +Cc: gcc-patches, Jakub Jelinek, fortran

> Hi!
> Ping.

OK for the Fortran part, though I suspect you need Jakub to approve it as well.

FX

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests
  2015-09-27 18:07       ` Thomas Schwinge
  2015-09-27 19:34         ` FX
@ 2015-09-27 19:57         ` Jakub Jelinek
  2015-09-30 10:03           ` Thomas Schwinge
  1 sibling, 1 reply; 27+ messages in thread
From: Jakub Jelinek @ 2015-09-27 19:57 UTC (permalink / raw)
  To: Thomas Schwinge; +Cc: gcc-patches, fortran

Hi!

> > OK for trunk?

Ok.

	Jakub

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Add checkpoint to libgomp dg-shouldfail tests
  2015-09-27 19:57         ` Jakub Jelinek
@ 2015-09-30 10:03           ` Thomas Schwinge
  0 siblings, 0 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-09-30 10:03 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: gcc-patches, fortran

[-- Attachment #1: Type: text/plain, Size: 61217 bytes --]

Hi!

On Sun, 27 Sep 2015 18:55:53 +0200, Jakub Jelinek <jakub@redhat.com> wrote:
> > > OK for trunk?
> 
> Ok.

Thanks for the review.  Committed in r228282:

commit e344dc2e94177f522fe8d62fe95ec2d1687e017a
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Sep 30 08:44:49 2015 +0000

    Add checkpoint to libgomp dg-shouldfail tests
    
    That is, verify that we're actually reaching the expected checkpoint before
    terminating.
    
    	libgomp/
    	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
    	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
    	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
    	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
    	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228282 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog                                  | 66 ++++++++++++++++++++++
 .../testsuite/libgomp.oacc-c-c++-common/abort-1.c  |  5 +-
 .../testsuite/libgomp.oacc-c-c++-common/abort-3.c  |  5 +-
 .../libgomp.oacc-c-c++-common/clauses-2.c          |  3 +
 .../libgomp.oacc-c-c++-common/data-already-1.c     |  3 +
 .../libgomp.oacc-c-c++-common/data-already-2.c     |  8 ++-
 .../libgomp.oacc-c-c++-common/data-already-3.c     | 11 +++-
 .../libgomp.oacc-c-c++-common/data-already-4.c     |  7 ++-
 .../libgomp.oacc-c-c++-common/data-already-5.c     |  7 ++-
 .../libgomp.oacc-c-c++-common/data-already-6.c     |  7 ++-
 .../libgomp.oacc-c-c++-common/data-already-7.c     |  7 ++-
 .../libgomp.oacc-c-c++-common/data-already-8.c     |  8 ++-
 .../testsuite/libgomp.oacc-c-c++-common/lib-1.c    |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-11.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-16.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-17.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-18.c   |  5 +-
 .../testsuite/libgomp.oacc-c-c++-common/lib-2.c    |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-20.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-21.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-22.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-23.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-25.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-26.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-27.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-28.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-29.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-3.c    |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-30.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-34.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-35.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-36.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-39.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-4.c    |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-40.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-42.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-43.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-44.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-47.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-48.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-52.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-53.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-54.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-57.c   |  8 +++
 .../testsuite/libgomp.oacc-c-c++-common/lib-58.c   |  8 +++
 .../testsuite/libgomp.oacc-c-c++-common/lib-62.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-63.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-64.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-65.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-67.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-68.c   |  3 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-71.c   |  2 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-77.c   |  2 +
 .../testsuite/libgomp.oacc-c-c++-common/lib-80.c   |  2 +
 .../libgomp.oacc-c-c++-common/present-1.c          |  3 +
 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90 |  6 +-
 .../libgomp.oacc-fortran/data-already-1.f          |  3 +-
 .../libgomp.oacc-fortran/data-already-2.f          |  2 +
 .../libgomp.oacc-fortran/data-already-3.f          |  4 +-
 .../libgomp.oacc-fortran/data-already-4.f          |  4 +-
 .../libgomp.oacc-fortran/data-already-5.f          |  4 +-
 .../libgomp.oacc-fortran/data-already-6.f          |  4 +-
 .../libgomp.oacc-fortran/data-already-7.f          |  4 +-
 .../libgomp.oacc-fortran/data-already-8.f          |  2 +
 64 files changed, 281 insertions(+), 27 deletions(-)

diff --git libgomp/ChangeLog libgomp/ChangeLog
index 8fbd6c5..fcf80e2 100644
--- libgomp/ChangeLog
+++ libgomp/ChangeLog
@@ -1,3 +1,69 @@
+2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
+	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
+	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
+	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
+
 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* oacc-init.c (acc_on_device): Force optimization level.
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
index f88b9e3..6a9b1df 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-1.c
@@ -1,12 +1,11 @@
 /* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
 
 #include <stdlib.h>
 
 int
 main (void)
 {
-
+  __builtin_printf ("CheCKpOInT\n");
 #pragma acc parallel
   {
     abort ();
@@ -15,3 +14,5 @@ main (void)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail ""  } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
index be7aaa8..2c8f347 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/abort-3.c
@@ -1,12 +1,11 @@
 /* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
 
 #include <stdlib.h>
 
 int
 main (void)
 {
-
+  __builtin_printf ("CheCKpOInT\n");
 #pragma acc kernels
   {
     abort ();
@@ -15,3 +14,5 @@ main (void)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail ""  } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
index c0a5d00..ff237fe 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/clauses-2.c
@@ -27,6 +27,7 @@ main (int argc, char **argv)
     d = (float *) acc_malloc (N * sizeof (float));
     acc_map_data (c, d, N * sizeof (float));
 
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc parallel copyin (a[0:N]) present_or_create (c[0:N+1]) copyout (b[0:N])
     {
         int ii;
@@ -64,5 +65,7 @@ main (int argc, char **argv)
 
     return 0;
 }
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
index 0c61a66..0ed53a4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-1.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -9,11 +10,13 @@ main (int argc, char *argv[])
 
   acc_copyin (&i, sizeof i);
 
+  fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data copy (i)
   ++i;
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
index cd9fea3..00adf2a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-2.c
@@ -1,16 +1,22 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
+
 int
 main (int argc, char *argv[])
 {
   int i;
 
 #pragma acc data present_or_copy (i)
+  {
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data copyout (i)
-  ++i;
+    ++i;
+  }
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
index b993b78..04073e3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-3.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,14 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc data present_or_copy (i)
-  acc_copyin (&i, sizeof i);
+  {
+    fprintf (stderr, "CheCKpOInT\n");
+    acc_copyin (&i, sizeof i);
+  }
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
index 82523f4..cfa5cb2 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-4.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
   acc_present_or_copyin (&i, sizeof i);
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyin (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
index 4961fe5..e15c3fb 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-5.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc enter data create (i)
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyin (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
index 77b56a9..4570c74 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-6.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
   acc_present_or_copyin (&i, sizeof i);
+  fprintf (stderr, "CheCKpOInT\n");
 #pragma acc enter data create (i)
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
index b08417b..467cf39 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-7.c
@@ -1,5 +1,6 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -8,10 +9,12 @@ main (int argc, char *argv[])
   int i;
 
 #pragma acc enter data create (i)
+  fprintf (stderr, "CheCKpOInT\n");
   acc_create (&i, sizeof i);
 
   return 0;
 }
 
-/* { dg-shouldfail "" }
-   { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
index 7472d7f..f41431c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/data-already-8.c
@@ -1,16 +1,22 @@
 /* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
 
+#include <stdio.h>
+
 int
 main (int argc, char *argv[])
 {
   int i;
 
 #pragma acc data create (i)
+  {
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc parallel copyin (i)
-  ++i;
+    ++i;
+  }
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
index 5ff23b2..26318f1 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-1.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -16,10 +17,12 @@ main (int argc, char **argv)
 
   acc_init (devtype);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_init (devtype);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "device already active" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
index e34a876e..86cfeb6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-11.c
@@ -1,6 +1,7 @@
 /* Only nvptx plugin does the required error checking.
    { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 #include <stdint.h>
@@ -15,10 +16,12 @@ main (int argc, char **argv)
   if (d == NULL)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_free ((void *)((uintptr_t) d + (uintptr_t) (N >> 1)));
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
index d6f6559..28e4e5c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-16.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   (void) acc_copyin (h, N);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
index d20ad6a..7d1767e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-17.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   acc_copyout (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N);
 
   free (h);
@@ -28,5 +30,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
index a3cb59a..160b33c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-18.c
@@ -1,10 +1,9 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
-#include <stdio.h>
-
 int
 main (int argc, char **argv)
 {
@@ -24,6 +23,7 @@ main (int argc, char **argv)
 
   acc_free (d);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N);
 
   free (h);
@@ -31,5 +31,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
index b16e9e6..c658dd6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-2.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -18,10 +19,12 @@ main (int argc, char **argv)
 
   acc_shutdown (devtype);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_shutdown (devtype);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "no device initialized" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
index 3e86154..4f8e14c 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-20.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, N + 1);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
index 7fb34e3..d908700 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-21.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h, 0);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
index b0d4df8..a6c0197 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-22.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -19,6 +20,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h + 1, N - 1);
 
   free (h);
@@ -26,5 +28,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
index 64334ec..2339dd6 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-23.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -28,6 +29,7 @@ main (int argc, char **argv)
 
   (void) acc_copyin (h2, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_copyout (h1, N + N);
 
   free (h1);
@@ -36,5 +38,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
index 17f4a19..bb709d3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-25.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (h, N);
   if (!d)
     abort ();
@@ -27,5 +29,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
index 41d560e..8e1a911 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-26.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (h, 0);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
index 9d9d739..c61f62e 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-27.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_create (0, N);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
index 07d13d7..9304daa 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-28.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (0, N);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
index da01194..92e3858 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-29.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (h, 0);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
index d5f390d..7118797 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-3.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
@@ -7,11 +8,13 @@ main (int argc, char **argv)
 {
   acc_init (acc_device_host);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_shutdown (acc_device_not_host);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* TODO: currently prints: "libgomp: no device found".  */
 /* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" { xfail *-*-* } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
index 9e34058..e81627d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-30.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_delete (h, N - 2);
 
   free (h);
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
index 536e2ae..031c731 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-34.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -16,6 +17,7 @@ main (int argc, char **argv)
   if (!d1)
     abort ();
 
+  fprintf (stderr, "CheCKpOInT\n");
   d2 = acc_present_or_create (h + 2, N);
   if (!d2)
     abort ();
@@ -30,5 +32,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
index fc90136..5e0a0e9 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-35.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_create (0, N);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
index d0587ae..8ff61c7 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-36.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -12,6 +13,7 @@ main (int argc, char **argv)
 
   h = (unsigned char *) malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_create (h, 0);
   if (!d)
     abort ();
@@ -23,5 +25,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
index 01fdd90..39fc15a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-39.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -19,6 +20,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_copyin (0, N);
   if (!d)
     abort ();
@@ -38,5 +40,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
index 3bb9ea5..452ed29 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-4.c
@@ -1,14 +1,17 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <openacc.h>
 
 int
 main (int argc, char **argv)
 {
+  fprintf (stderr, "CheCKpOInT\n");
   acc_init ((acc_device_t) 99);
 
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown device type \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
index 5a19898..f4ab6d8 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-40.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -20,6 +21,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   d = acc_present_or_copyin (h, 0);
   if (!d)
     abort ();
@@ -39,5 +41,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index b74addd..95c4162 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -17,6 +18,7 @@ main (int argc, char **argv)
       h[i] = i;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (h, N);
 
   acc_copyout (h, N);
@@ -32,6 +34,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* TODO: currently doesn't print anything; SIGSEGV.
    <https://gcc.gnu.org/PR66518>.  */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
index 45d4988..0d593f0 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-43.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -27,6 +28,7 @@ main (int argc, char **argv)
       h[i] = 0xab;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (0, N);
 
   acc_copyout (h, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
index abe2b9e..e98ecc4 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-44.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -27,6 +28,7 @@ main (int argc, char **argv)
       h[i] = 0xab;
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_device (h, 0);
 
   acc_copyout (h, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
index 2b3730b..f26fc33 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-47.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_self (0, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
index febe022..253ce59 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-48.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_update_self (h, 0);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
index 39845e8..cfbb077 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-52.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (0, d, N);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
index bed9323..5de376d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-53.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (h, 0, N);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
index 20fd175..3e621c3 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-54.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,6 +15,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_map_data (h, d, 0);
 
   acc_unmap_data (h);
@@ -25,6 +27,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
index 69ab79f..971a014 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-57.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,8 +15,14 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+#if ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_map_data (h, d, N);
 
+#if !ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_unmap_data (d);
 
   acc_free (d);
@@ -25,6 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
index 9b1ecd9..fedda77 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-58.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <openacc.h>
 
@@ -14,8 +15,14 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+#if ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_map_data (h, d, N);
 
+#if !ACC_MEM_SHARED
+  fprintf (stderr, "CheCKpOInT\n");
+#endif
   acc_unmap_data (0);
 
   acc_free (d);
@@ -25,6 +32,7 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
 /* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
index 2988b5b..ace4b05 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-62.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, h, N << 1);
 
   acc_memcpy_from_device (h, d, N);
@@ -42,5 +44,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid size" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
index 69c061e..a3fa728 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-63.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (0, h, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
index 6a785b0..b57f67a 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-64.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, 0, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
index 0f2f9eb..0fca821 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-65.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -21,6 +22,7 @@ main (int argc, char **argv)
 
   d = acc_malloc (N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_to_device (d, d, N);
 
   memset (&h[0], 0, N);
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host or device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
index 31b8c1f..ec3c2a5 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-67.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_from_device (0, d, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid host address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
index dc39770..f109034 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-68.c
@@ -1,5 +1,6 @@
 /* { dg-do run { target openacc_nvidia_accel_selected } } */
 
+#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <openacc.h>
@@ -25,6 +26,7 @@ main (int argc, char **argv)
 
   memset (&h[0], 0, N);
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_memcpy_from_device (h, 0, N);
 
   for (i = 0; i < N; i++)
@@ -40,5 +42,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "invalid device address" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
index e8584db..c85e824 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-71.c
@@ -92,6 +92,7 @@ main (int argc, char **argv)
       abort ();
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   if (acc_async_test (1) != 0)
     {
       fprintf (stderr, "asynchronous operation not running\n");
@@ -116,5 +117,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown async \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
index 35a0980..f4f196d 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-77.c
@@ -98,6 +98,7 @@ main (int argc, char **argv)
       abort ();
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_wait (1);
 
   atime = stop_timer (0);
@@ -132,5 +133,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "unknown async \[0-9\]+" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
index d521331..9a9a837 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-80.c
@@ -105,6 +105,7 @@ main (int argc, char **argv)
 	}
     }
 
+  fprintf (stderr, "CheCKpOInT\n");
   acc_wait_async (1, 1);
 
   acc_wait (1);
@@ -129,5 +130,6 @@ main (int argc, char **argv)
   return 0;
 }
 
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "identical parameters" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
index d8fcb71..61c8109 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/present-1.c
@@ -21,6 +21,7 @@ main (int argc, char **argv)
     d = (float *) acc_malloc (N * sizeof (float));
     acc_map_data (c, d, N * sizeof (float));
 
+    fprintf (stderr, "CheCKpOInT\n");
 #pragma acc data present (a[0:N]) present (c[0:N]) present (b[0:N])
     {
 #pragma acc parallel
@@ -45,5 +46,7 @@ main (int argc, char **argv)
 
     return 0;
 }
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
 /* { dg-output "present clause: !acc_is_present" } */
 /* { dg-shouldfail "" } */
diff --git libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90 libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
index 52b030b..b38303d 100644
--- libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
+++ libgomp/testsuite/libgomp.oacc-fortran/abort-1.f90
@@ -1,10 +1,12 @@
-! { dg-shouldfail "" { *-*-* } { "*" } { "" } }
-
 program main
   implicit none
 
+  print *, "CheCKpOInT"
   !$acc parallel
   call abort
   !$acc end parallel
 
 end program main
+
+! { dg-output "CheCKpOInT" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
index fc08fd5..9e99cc6 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-1.f
@@ -6,12 +6,13 @@
       INTEGER I
 
       CALL ACC_COPYIN (I)
-
+      WRITE(0, *) "CheCKpOInT"
 !$ACC DATA COPY (I)
       I = 0
 !$ACC END DATA
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
index b8a82b5..b908a0c 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-2.f
@@ -5,6 +5,7 @@
       INTEGER I
 
 !$ACC DATA PRESENT_OR_COPY (I)
+      WRITE(0, *) "CheCKpOInT"
 !$ACC DATA COPYOUT (I)
       I = 0
 !$ACC END DATA
@@ -12,5 +13,6 @@
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
index c41de28..d93e1c5 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-3.f
@@ -6,10 +6,12 @@
       INTEGER I
 
 !$ACC DATA PRESENT_OR_COPY (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_COPYIN (I)
 !$ACC END DATA
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
index f54bf58..ea76e05 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-4.f
@@ -6,9 +6,11 @@
       INTEGER I
 
       CALL ACC_PRESENT_OR_COPYIN (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_COPYIN (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
index 9a3e94f..19df1f8 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-5.f
@@ -6,9 +6,11 @@
       INTEGER I
 
 !$ACC ENTER DATA CREATE (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_COPYIN (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
index eaf5d98..2bd1079 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-6.f
@@ -6,9 +6,11 @@
       INTEGER I
 
       CALL ACC_PRESENT_OR_COPYIN (I)
+      WRITE(0, *) "CheCKpOInT"
 !$ACC ENTER DATA CREATE (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
index d96bf0b..1342360 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-7.f
@@ -6,9 +6,11 @@
       INTEGER I
 
 !$ACC ENTER DATA CREATE (I)
+      WRITE(0, *) "CheCKpOInT"
       CALL ACC_CREATE (I)
 
       END
 
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
diff --git libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
index 2083809..b206547 100644
--- libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
+++ libgomp/testsuite/libgomp.oacc-fortran/data-already-8.f
@@ -5,6 +5,7 @@
       INTEGER I
 
 !$ACC DATA CREATE (I)
+      WRITE(0, *) "CheCKpOInT"
 !$ACC PARALLEL COPYIN (I)
       I = 0
 !$ACC END PARALLEL
@@ -12,5 +13,6 @@
 
       END
 
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
 ! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
 ! { dg-shouldfail "" }


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self
  2015-06-19  7:48         ` libgomp: XFAIL two libgomp.oacc-* tests (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
@ 2015-10-09 15:14           ` Thomas Schwinge
  2015-10-14 12:08             ` Bernd Schmidt
  0 siblings, 1 reply; 27+ messages in thread
From: Thomas Schwinge @ 2015-10-09 15:14 UTC (permalink / raw)
  To: gcc-patches, Jakub Jelinek; +Cc: James Norris

[-- Attachment #1: Type: text/plain, Size: 2413 bytes --]

Hi!

On Fri, 19 Jun 2015 09:47:41 +0200, I wrote:
> On Tue, 5 May 2015 11:43:20 +0200, I wrote:
> > On Mon, 4 May 2015 10:20:14 -0400, John David Anglin <dave.anglin@bell.net> wrote:
> > > FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-42.c 
> > > -DACC_DEVICE_TYPE_hos
> > > t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match 
> > > \[[0-9a-fA-FxX]+,2
> > > 56\] is not mapped

> In r224639, now (at least, and at last...) XFAILed

OK to commit?

commit 673e59d5da9f5b003c4dac54b8ef6b1010b3f907
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Oct 9 14:29:51 2015 +0200

    [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self
    
    	libgomp/
    	PR libgomp/65437
    	PR libgomp/66518
    	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
    	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
---
 libgomp/oacc-mem.c                                   | 6 +++---
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c | 4 +---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git libgomp/oacc-mem.c libgomp/oacc-mem.c
index 90d43eb..9eb30f1 100644
--- libgomp/oacc-mem.c
+++ libgomp/oacc-mem.c
@@ -546,6 +546,9 @@ update_dev_host (int is_dev, void *h, size_t s)
 {
   splay_tree_key n;
   void *d;
+
+  goacc_lazy_initialize ();
+
   struct goacc_thread *thr = goacc_thread ();
   struct gomp_device_descr *acc_dev = thr->dev;
 
@@ -553,9 +556,6 @@ update_dev_host (int is_dev, void *h, size_t s)
 
   n = lookup_host (acc_dev, h, s);
 
-  /* No need to call lazy open, as the data must already have been
-     mapped.  */
-
   if (!n)
     {
       gomp_mutex_unlock (&acc_dev->lock);
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index 95c4162..de5d1c1 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -35,7 +35,5 @@ main (int argc, char **argv)
 }
 
 /* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
-/* TODO: currently doesn't print anything; SIGSEGV.
-   <https://gcc.gnu.org/PR66518>.  */
-/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */


Grüße,
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self
  2015-10-09 15:14           ` [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self Thomas Schwinge
@ 2015-10-14 12:08             ` Bernd Schmidt
  2015-10-26 16:27               ` Thomas Schwinge
  0 siblings, 1 reply; 27+ messages in thread
From: Bernd Schmidt @ 2015-10-14 12:08 UTC (permalink / raw)
  To: Thomas Schwinge, gcc-patches, Jakub Jelinek; +Cc: James Norris

On 10/09/2015 05:14 PM, Thomas Schwinge wrote:
> Hi!
>
> On Fri, 19 Jun 2015 09:47:41 +0200, I wrote:
>> On Tue, 5 May 2015 11:43:20 +0200, I wrote:
>>> On Mon, 4 May 2015 10:20:14 -0400, John David Anglin <dave.anglin@bell.net> wrote:
>>>> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-42.c
>>>> -DACC_DEVICE_TYPE_hos
>>>> t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match
>>>> \[[0-9a-fA-FxX]+,2
>>>> 56\] is not mapped
>
>> In r224639, now (at least, and at last...) XFAILed
>
> OK to commit?

Ok.


Bernd

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self
  2015-10-14 12:08             ` Bernd Schmidt
@ 2015-10-26 16:27               ` Thomas Schwinge
  0 siblings, 0 replies; 27+ messages in thread
From: Thomas Schwinge @ 2015-10-26 16:27 UTC (permalink / raw)
  To: Bernd Schmidt, gcc-patches; +Cc: James Norris, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 3201 bytes --]

Hi!

On Wed, 14 Oct 2015 14:08:42 +0200, Bernd Schmidt <bschmidt@redhat.com> wrote:
> On 10/09/2015 05:14 PM, Thomas Schwinge wrote:
> > On Fri, 19 Jun 2015 09:47:41 +0200, I wrote:
> >> On Tue, 5 May 2015 11:43:20 +0200, I wrote:
> >>> On Mon, 4 May 2015 10:20:14 -0400, John David Anglin <dave.anglin@bell.net> wrote:
> >>>> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-42.c
> >>>> -DACC_DEVICE_TYPE_hos
> >>>> t=1 -DACC_MEM_SHARED=1 output pattern test, is , should match
> >>>> \[[0-9a-fA-FxX]+,2
> >>>> 56\] is not mapped

> > OK to commit?
> 
> Ok.

Thanks for the review.  Committed in r229378:

commit a6dcb5581494a8b750daf173f04ef087d6dc60c5
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Oct 26 16:24:17 2015 +0000

    [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self
    
    	libgomp/
    	PR libgomp/65437
    	PR libgomp/66518
    	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
    	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229378 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgomp/ChangeLog                                    | 7 +++++++
 libgomp/oacc-mem.c                                   | 6 +++---
 libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c | 4 +---
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git libgomp/ChangeLog libgomp/ChangeLog
index 658c47b..76cb423 100644
--- libgomp/ChangeLog
+++ libgomp/ChangeLog
@@ -1,3 +1,10 @@
+2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR libgomp/65437
+	PR libgomp/66518
+	* oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
+	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
+
 2015-10-23  Tom de Vries  <tom@codesourcery.com>
 
 	PR testsuite/68063
diff --git libgomp/oacc-mem.c libgomp/oacc-mem.c
index af067d6..5410906 100644
--- libgomp/oacc-mem.c
+++ libgomp/oacc-mem.c
@@ -547,6 +547,9 @@ update_dev_host (int is_dev, void *h, size_t s)
 {
   splay_tree_key n;
   void *d;
+
+  goacc_lazy_initialize ();
+
   struct goacc_thread *thr = goacc_thread ();
   struct gomp_device_descr *acc_dev = thr->dev;
 
@@ -554,9 +557,6 @@ update_dev_host (int is_dev, void *h, size_t s)
 
   n = lookup_host (acc_dev, h, s);
 
-  /* No need to call lazy open, as the data must already have been
-     mapped.  */
-
   if (!n)
     {
       gomp_mutex_unlock (&acc_dev->lock);
diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
index 95c4162..de5d1c1 100644
--- libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
+++ libgomp/testsuite/libgomp.oacc-c-c++-common/lib-42.c
@@ -35,7 +35,5 @@ main (int argc, char **argv)
 }
 
 /* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
-/* TODO: currently doesn't print anything; SIGSEGV.
-   <https://gcc.gnu.org/PR66518>.  */
-/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
+/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
 /* { dg-shouldfail "" } */


Grüße
 Thomas

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2015-10-26 16:26 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <54FF0C91.8020307@mentor.com>
2015-04-30 13:17 ` [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests Thomas Schwinge
2015-05-04  8:34   ` [PR testsuite/65205, libgomp/65993] " Thomas Schwinge
2015-05-04 13:26     ` Rainer Orth
2015-05-04 14:32       ` Andreas Schwab
2015-05-04 14:38         ` Rainer Orth
2015-05-04 14:20     ` John David Anglin
2015-05-05  9:43       ` Thomas Schwinge
2015-05-05 12:43         ` John David Anglin
2015-05-05 13:10           ` John David Anglin
2015-05-05 14:13           ` OpenACC: initialization with unsupported acc_device_t (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
2015-05-07 15:56             ` Julian Brown
2015-05-21  7:13               ` OpenACC: initialization with unsupported acc_device_t Thomas Schwinge
2015-05-21  8:31                 ` Jakub Jelinek
2015-06-19  7:56             ` libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only (was: OpenACC: initialization with unsupported acc_device_t) Thomas Schwinge
2015-07-01 10:10               ` libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only Tom de Vries
2015-06-19  7:48         ` libgomp: XFAIL two libgomp.oacc-* tests (was: [PR testsuite/65205, libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
2015-10-09 15:14           ` [PR libgomp/65437, libgomp/66518] Initialize runtime in acc_update_device, acc_update_self Thomas Schwinge
2015-10-14 12:08             ` Bernd Schmidt
2015-10-26 16:27               ` Thomas Schwinge
2015-08-14 11:16   ` Add checkpoint to libgomp dg-shouldfail tests (was: [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests) Thomas Schwinge
2015-08-14 11:19     ` Janne Blomqvist
2015-08-14 11:20     ` FX
2015-08-14 16:01     ` Add checkpoint to libgomp dg-shouldfail tests Thomas Schwinge
2015-09-27 18:07       ` Thomas Schwinge
2015-09-27 19:34         ` FX
2015-09-27 19:57         ` Jakub Jelinek
2015-09-30 10:03           ` Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).