[Openmp-commits] [PATCH] D139139: Enable kmpc_atomic functions for arm64
Martin Storsjö via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Dec 1 13:34:28 PST 2022
mstorsjo added inline comments.
================
Comment at: openmp/runtime/src/kmp_atomic.h:1033
+#if KMP_ARCH_X86 || KMP_ARCH_X86_64
kmp_cmplx64 __kmpc_atomic_cmplx8_rd(ident_t *id_ref, int gtid,
kmp_cmplx64 *loc);
----------------
Why are these functions only declared on x86? These functions are among the exported ones. Since they aren't declared here (within an `extern "C" {...}` block, they end up with mangled C++ names. When linking in MSVC mode, the linker still manages to map the undecorated C symbol name to the C++ symbol and exporting that, but in mingw mode, it doesn't automatically find a matching itanium mangled symbol.
================
Comment at: openmp/runtime/src/kmp_atomic.h:1341
kmp_cmplx32 rhs, kmp_cmplx32 *out, int flag);
-
+#if KMP_ARCH_X86 || KMP_ARCH_X86_64
kmp_cmplx64 __kmpc_atomic_cmplx8_add_cpt(ident_t *id_ref, int gtid,
----------------
The same goes for this ifdef block.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139139/new/
https://reviews.llvm.org/D139139
More information about the Openmp-commits
mailing list