[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