libgomp/
        * testsuite/libgomp.c++/target-std__array-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__array-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__bitset-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__deque-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__deque-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__forward_list-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__list-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__list-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__map-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__map-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__multimap-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__multiset-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__set-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__set-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__span-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__span-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__valarray-concurrent.C: Adjust.
        * testsuite/libgomp.c++/target-std__vector-concurrent-usm.C: New.
        * testsuite/libgomp.c++/target-std__vector-concurrent.C: Adjust.
---
 .../libgomp.c++/target-std__array-concurrent-usm.C         | 5 +++++
 .../testsuite/libgomp.c++/target-std__array-concurrent.C   | 2 ++
 .../libgomp.c++/target-std__bitset-concurrent-usm.C        | 5 +++++
 .../testsuite/libgomp.c++/target-std__bitset-concurrent.C  | 2 ++
 .../libgomp.c++/target-std__deque-concurrent-usm.C         | 5 +++++
 .../testsuite/libgomp.c++/target-std__deque-concurrent.C   | 2 ++
 .../libgomp.c++/target-std__forward_list-concurrent-usm.C  | 5 +++++
 .../libgomp.c++/target-std__forward_list-concurrent.C      | 2 ++
 .../libgomp.c++/target-std__list-concurrent-usm.C          | 5 +++++
 .../testsuite/libgomp.c++/target-std__list-concurrent.C    | 2 ++
 .../testsuite/libgomp.c++/target-std__map-concurrent-usm.C | 5 +++++
 libgomp/testsuite/libgomp.c++/target-std__map-concurrent.C | 4 ++++
 .../libgomp.c++/target-std__multimap-concurrent-usm.C      | 5 +++++
 .../libgomp.c++/target-std__multimap-concurrent.C          | 4 ++++
 .../libgomp.c++/target-std__multiset-concurrent-usm.C      | 5 +++++
 .../libgomp.c++/target-std__multiset-concurrent.C          | 2 ++
 .../testsuite/libgomp.c++/target-std__set-concurrent-usm.C | 5 +++++
 libgomp/testsuite/libgomp.c++/target-std__set-concurrent.C | 2 ++
 .../libgomp.c++/target-std__span-concurrent-usm.C          | 7 +++++++
 .../testsuite/libgomp.c++/target-std__span-concurrent.C    | 4 ++++
 .../libgomp.c++/target-std__valarray-concurrent-usm.C      | 5 +++++
 .../libgomp.c++/target-std__valarray-concurrent.C          | 2 ++
 .../libgomp.c++/target-std__vector-concurrent-usm.C        | 5 +++++
 .../testsuite/libgomp.c++/target-std__vector-concurrent.C  | 2 ++
 24 files changed, 92 insertions(+)
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__array-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__deque-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__list-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__map-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__set-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__span-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C
 create mode 100644 
libgomp/testsuite/libgomp.c++/target-std__vector-concurrent-usm.C

diff --git a/libgomp/testsuite/libgomp.c++/target-std__array-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__array-concurrent-usm.C
new file mode 100644
index 00000000000..9923783bcb1
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__array-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__array-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__array-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__array-concurrent.C
index e97bfe60a61..c42105a65ed 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__array-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__array-concurrent.C
@@ -33,7 +33,9 @@ int main (void)
   srand (time (NULL));
   init (data);
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: arr)
+#endif
     {
       #pragma omp target
        {
diff --git a/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C
new file mode 100644
index 00000000000..9023ef85c55
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__bitset-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent.C
index aa27662314b..4fcce932172 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__bitset-concurrent.C
@@ -40,7 +40,9 @@ int main (void)
   srand (time (NULL));
   init (data);
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: _set)
+#endif
     {
       #pragma omp target
        {
diff --git a/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent-usm.C
new file mode 100644
index 00000000000..863a1de7687
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__deque-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent.C
index 5f08bfb002b..9c2d6fa57b4 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__deque-concurrent.C
@@ -38,7 +38,9 @@ int main (void)
   std::deque<int> _deque;
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: _deque)
+#endif
     {
 #ifndef MEM_SHARED
       #pragma omp target
diff --git 
a/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C
new file mode 100644
index 00000000000..60d5cee5ef3
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__forward_list-concurrent.C"
diff --git 
a/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent.C
index f8ab53e30df..6b0ee65493e 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__forward_list-concurrent.C
@@ -43,7 +43,9 @@ int main (void)
   std::forward_list<int> list;
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: list)
+#endif
     {
 #ifndef MEM_SHARED
       #pragma omp target
diff --git a/libgomp/testsuite/libgomp.c++/target-std__list-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__list-concurrent-usm.C
new file mode 100644
index 00000000000..5057bf96fef
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__list-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__list-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__list-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__list-concurrent.C
index ce3b4265ee0..1f44a17ca09 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__list-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__list-concurrent.C
@@ -43,7 +43,9 @@ int main (void)
   std::list<int> _list;
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: _list)
+#endif
     {
 #ifndef MEM_SHARED
       #pragma omp target
diff --git a/libgomp/testsuite/libgomp.c++/target-std__map-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__map-concurrent-usm.C
new file mode 100644
index 00000000000..fe37426b8c8
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__map-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__map-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__map-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__map-concurrent.C
index 254c490afdb..36556ef0660 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__map-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__map-concurrent.C
@@ -38,7 +38,9 @@ int main (void)
   init (keys, true);
   init (data, false);
 
+#ifndef MEM_SHARED
   #pragma omp target enter data map (to: keys[:N], data[:N]) map (alloc: _map)
+#endif
 
   #pragma omp target
     {
@@ -59,7 +61,9 @@ int main (void)
     _map.~map ();
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target exit data map (release: _map)
+#endif
 
   bool ok = validate (sum, keys, data);
   return ok ? 0 : 1;
diff --git 
a/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C
new file mode 100644
index 00000000000..79f9245117f
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__multimap-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent.C
index 65e6732cba3..6a4a4e80d34 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__multimap-concurrent.C
@@ -32,7 +32,9 @@ int main (void)
   init (keys, KEY_MAX);
   init (data, RAND_MAX);
 
+#ifndef MEM_SHARED
   #pragma omp target enter data map (to: keys[:N], data[:N]) map (alloc: _map)
+#endif
 
   #pragma omp target
     {
@@ -57,7 +59,9 @@ int main (void)
     _map.~multimap ();
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target exit data map (release: _map)
+#endif
 
   bool ok = validate (sum, keys, data);
   return ok ? 0 : 1;
diff --git 
a/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C
new file mode 100644
index 00000000000..2d8075663bd
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__multiset-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent.C
index 0b16ca53953..b12402e8e0c 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__multiset-concurrent.C
@@ -34,7 +34,9 @@ int main (void)
   srand (time (NULL));
   init (data);
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: set)
+#endif
     {
       #pragma omp target
        {
diff --git a/libgomp/testsuite/libgomp.c++/target-std__set-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__set-concurrent-usm.C
new file mode 100644
index 00000000000..54f62e3e84b
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__set-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__set-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__set-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__set-concurrent.C
index 6953b6352a2..cd23128a652 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__set-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__set-concurrent.C
@@ -39,7 +39,9 @@ int main (void)
   srand (time (NULL));
   init (data);
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: _set)
+#endif
     {
       #pragma omp target
        {
diff --git a/libgomp/testsuite/libgomp.c++/target-std__span-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__span-concurrent-usm.C
new file mode 100644
index 00000000000..7ef16bfb574
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__span-concurrent-usm.C
@@ -0,0 +1,7 @@
+// { dg-additional-options "-std=c++20" }
+
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__span-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__span-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__span-concurrent.C
index ac89a8980c6..046b3c1a086 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__span-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__span-concurrent.C
@@ -34,7 +34,9 @@ int main (void)
   srand (time (NULL));
   init (data);
 
+#ifndef MEM_SHARED
   #pragma omp target enter data map (to: data[:N]) map (alloc: elements, span)
+#endif
 
   #pragma omp target
     {
@@ -56,7 +58,9 @@ int main (void)
 #endif
     }
 
+#ifndef MEM_SHARED
   #pragma omp target exit data map (release: elements, span)
+#endif
 
   return ok ? 0 : 1;
 }
diff --git 
a/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C
new file mode 100644
index 00000000000..41ec80ee900
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__valarray-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent.C
index 127aec436f5..8933072bb2b 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__valarray-concurrent.C
@@ -37,7 +37,9 @@ int main (void)
   std::valarray<int> arr;
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: arr)
+#endif
     {
       #pragma omp target
        {
diff --git a/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent-usm.C 
b/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent-usm.C
new file mode 100644
index 00000000000..967bff3b81a
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent-usm.C
@@ -0,0 +1,5 @@
+#pragma omp requires unified_shared_memory self_maps
+
+#define MEM_SHARED
+
+#include "target-std__vector-concurrent.C"
diff --git a/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent.C 
b/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent.C
index 1367f965527..a94b4cfe964 100644
--- a/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent.C
+++ b/libgomp/testsuite/libgomp.c++/target-std__vector-concurrent.C
@@ -37,7 +37,9 @@ int main (void)
   std::vector<int> vec;
 #endif
 
+#ifndef MEM_SHARED
   #pragma omp target data map (to: data[:N]) map (alloc: vec)
+#endif
     {
 #ifndef MEM_SHARED
       #pragma omp target
-- 
2.34.1

Reply via email to