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