https://gcc.gnu.org/g:3d15a8b41883b7d735a2d8a5315d4a6924d4b873

commit 3d15a8b41883b7d735a2d8a5315d4a6924d4b873
Author: Thomas Schwinge <[email protected]>
Date:   Wed Jul 22 20:10:21 2026 +0200

    libgomp: Add by-device capabilities for OpenMP 'omp requires' handling: Fix 
OpenMP reverse offload capability checking
    
    I noticed that as of commit 7cb252f60c1f600066300ede2781a2c9e3808adb
    "libgomp: Add by-device capabilities for OpenMP 'omp requires' handling",
    'libgomp.fortran/reverse-offload-5.f90' no longer XFAILs NVIDIA GPU 
offloading
    execution, no matter whether non-USM or USM single-GPU system.  That was
    suspicious, given that this commit shouldn't cause any such difference in
    behavior, per my understanding.  Well, turns out, this commit indeed didn't
    magically fix the failure, but it's just another case of non-existing static
    type checking of flag values...
    
            libgomp/
            * target.c (gomp_target_init): Fix OpenMP reverse offload
            capability checking.

Diff:
---
 libgomp/target.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libgomp/target.c b/libgomp/target.c
index 7916495da4da..feb19dec27a2 100644
--- a/libgomp/target.c
+++ b/libgomp/target.c
@@ -6935,7 +6935,7 @@ gomp_target_init (void)
                    if (((omp_requires_mask & GOMP_REQUIRES_UNIFIED_ADDRESS)
                         && !(dev_caps & GOMP_OFFLOAD_CAP_UNIFIED_ADDR))
                        || ((omp_requires_mask & GOMP_REQUIRES_REVERSE_OFFLOAD)
-                           && !(dev_caps & GOMP_REQUIRES_REVERSE_OFFLOAD)))
+                           && !(dev_caps & GOMP_OFFLOAD_CAP_REV_OFFLOAD)))
                      continue;
 
                    if (omp_requires_mask & (GOMP_REQUIRES_UNIFIED_SHARED_MEMORY

Reply via email to