]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgomp: fix omp_target_is_present and omp_get_mapped_ptr: Fix up 'libgomp.c/omp_targ...
authorThomas Schwinge <tschwinge@baylibre.com>
Fri, 10 Apr 2026 14:51:48 +0000 (16:51 +0200)
committerThomas Schwinge <tschwinge@baylibre.com>
Fri, 17 Apr 2026 13:16:31 +0000 (15:16 +0200)
It's probably a general issue that we don't 'omp_target_disassociate_ptr' after
'omp_target_associate_ptr', but in a multi-device setting, this results in an
execution test FAIL.

Fix up for commit 3923f9414e116a43c7f398f936ca4e5b21f66049
"libgomp: fix omp_target_is_present and omp_get_mapped_ptr".

libgomp/
* testsuite/libgomp.c/omp_target_is_present.c (check_routines):
'omp_target_disassociate_ptr' after 'omp_target_associate_ptr'.

libgomp/testsuite/libgomp.c/omp_target_is_present.c

index b7638e712baf88d2048315660743377909f718a3..2e5e7acab05cbf64aee56ec523073ff41bf68b0b 100644 (file)
@@ -180,6 +180,9 @@ void check_routines (int dev)
   else if (ptr2 == &gLocal || ptr2 == nullptr)
     __builtin_abort ();
 
+  if (!!omp_target_disassociate_ptr (&B, dev)
+      != (self_mapping || initial_dev || invalid_dev))
+    __builtin_abort ();
   if (!invalid_dev)
     {
       omp_target_free (ptr, dev);