From: Thomas Schwinge Date: Fri, 10 Apr 2026 14:51:48 +0000 (+0200) Subject: libgomp: fix omp_target_is_present and omp_get_mapped_ptr: Fix up 'libgomp.c/omp_targ... X-Git-Tag: basepoints/gcc-17~82 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=474e32ba633b4e0677b2c8a0be9191fd480ec2f3;p=thirdparty%2Fgcc.git libgomp: fix omp_target_is_present and omp_get_mapped_ptr: Fix up 'libgomp.c/omp_target_is_present.c' 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'. --- diff --git a/libgomp/testsuite/libgomp.c/omp_target_is_present.c b/libgomp/testsuite/libgomp.c/omp_target_is_present.c index b7638e712ba..2e5e7acab05 100644 --- a/libgomp/testsuite/libgomp.c/omp_target_is_present.c +++ b/libgomp/testsuite/libgomp.c/omp_target_is_present.c @@ -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);