This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Add checkpoint to libgomp dg-shouldfail tests


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: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]