diff mbox

[PR,testsuite/65205,libgomp/65993] Fix dg-shouldfail usage in OpenACC libgomp tests

Message ID 878ud3pdfr.fsf@schwinge.name
State New
Headers show

Commit Message

Thomas Schwinge May 5, 2015, 9:43 a.m. UTC
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(-)



Grüße,
 Thomas

Comments

John David Anglin May 5, 2015, 12:43 p.m. UTC | #1
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 May 5, 2015, 1:10 p.m. UTC | #2
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
Thomas Schwinge May 5, 2015, 2:09 p.m. UTC | #3
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
diff mbox

Patch

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" }