[Openmp-commits] [openmp] e38a1de - [OpenMP] libomp: disable definitions of 5.1 atomics for non-x86 arch.

via Openmp-commits openmp-commits at lists.llvm.org
Mon Oct 25 11:17:38 PDT 2021


Author: AndreyChurbanov
Date: 2021-10-25T21:17:26+03:00
New Revision: e38a1deb66c0b29257710e914d92b44d7946ceea

URL: https://github.com/llvm/llvm-project/commit/e38a1deb66c0b29257710e914d92b44d7946ceea
DIFF: https://github.com/llvm/llvm-project/commit/e38a1deb66c0b29257710e914d92b44d7946ceea.diff

LOG: [OpenMP] libomp: disable definitions of 5.1 atomics for non-x86 arch.

Declarations of 5.1 atomic entries were added under
"#if KMP_ARCH_X86 || KMP_ARCH_X86_64" in kmp_atomic.h,
but definitions of the functions missed architecture guard in kmp_atomic.cpp.
As a result mangled symbols were available on non-x86 architecture.
The patch eliminates these unexpected symbols from the library.

Differential Revision: https://reviews.llvm.org/D112261

Added: 
    

Modified: 
    openmp/runtime/src/kmp_atomic.cpp

Removed: 
    


################################################################################
diff  --git a/openmp/runtime/src/kmp_atomic.cpp b/openmp/runtime/src/kmp_atomic.cpp
index 701f157172f3..83d646054f63 100644
--- a/openmp/runtime/src/kmp_atomic.cpp
+++ b/openmp/runtime/src/kmp_atomic.cpp
@@ -3694,6 +3694,8 @@ void __kmpc_atomic_end(void) {
   __kmp_release_atomic_lock(&__kmp_atomic_lock, gtid);
 }
 
+#if KMP_ARCH_X86 || KMP_ARCH_X86_64
+
 // OpenMP 5.1 compare and swap
 
 /*!
@@ -3855,6 +3857,7 @@ kmp_int64 __kmpc_atomic_val_8_cas_cpt(ident_t *loc, int gtid, kmp_int64 *x,
 }
 
 // End OpenMP 5.1 compare + capture
+#endif // KMP_ARCH_X86 || KMP_ARCH_X86_64
 
 /*!
 @}


        


More information about the Openmp-commits mailing list