[gcc/devel/omp/gcc-15] libgomp.c/target-map-zero-sized-3.c: Fix code for non-USM offload [PR120530]
Tobias Burnus
burnus@gcc.gnu.org
Fri Jun 6 14:59:10 GMT 2025
https://gcc.gnu.org/g:76e0b6c20dc54d7a6f704a4bddd824f4c8d90c2c
commit 76e0b6c20dc54d7a6f704a4bddd824f4c8d90c2c
Author: Tobias Burnus <tburnus@baylibre.com>
Date: Fri Jun 6 15:15:03 2025 +0200
libgomp.c/target-map-zero-sized-3.c: Fix code for non-USM offload [PR120530]
A mapping clause was missing, causing the code to fail with offloading
when a host pointer was not device accessible.
libgomp/ChangeLog:
PR target/120530
* testsuite/libgomp.c/target-map-zero-sized-3.c (main): Add missing
map clause; remove unused variable.
(cherry picked from commit 16c742e1079e838b920a1b215af17828da7c6365)
Diff:
---
libgomp/testsuite/libgomp.c/target-map-zero-sized-3.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libgomp/testsuite/libgomp.c/target-map-zero-sized-3.c b/libgomp/testsuite/libgomp.c/target-map-zero-sized-3.c
index f968bd377c2c..580c6ad89bf5 100644
--- a/libgomp/testsuite/libgomp.c/target-map-zero-sized-3.c
+++ b/libgomp/testsuite/libgomp.c/target-map-zero-sized-3.c
@@ -1,7 +1,7 @@
int
main ()
{
- int i, n, n2;
+ int i, n;
int data[] = {1,2};
struct S {
int **ptrset;
@@ -33,16 +33,17 @@ main ()
i = 1;
n = 0;
- n2 = 2;
+ #pragma omp target enter data map(data)
#pragma omp target enter data map(sptr1[:1], sptr1->ptrset[:3], sptr1->ptrset2[:3])
#pragma omp target enter data map(sptr1->ptrset[i][:n], sptr1->ptrset2[i][:n])
- #pragma omp target
+ #pragma omp target map(sptr1->ptrset[i][:n], sptr1->ptrset2[i][:n])
if (sptr1->ptrset2[1][0] != 1 || sptr1->ptrset2[1][1] != 2)
__builtin_abort ();
#pragma omp target exit data map(sptr1->ptrset[i][:n], sptr1->ptrset2[i][:n])
#pragma omp target exit data map(sptr1[:1], sptr1->ptrset[:3], sptr1->ptrset2[:3])
+ #pragma omp target exit data map(data)
__builtin_free (s1.ptrset);
__builtin_free (s1.ptrset2);
More information about the Gcc-cvs
mailing list