[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