[all-commits] [llvm/llvm-project] d83660: [openmp][wasm] Fix microtask type mismatch (#84355)
Andrew Brown via All-commits
all-commits at lists.llvm.org
Thu Mar 14 08:24:05 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d83660827f0cb0054dafef6568ea2fa5b788a39c
https://github.com/llvm/llvm-project/commit/d83660827f0cb0054dafef6568ea2fa5b788a39c
Author: Andrew Brown <andrew.brown at intel.com>
Date: 2024-03-14 (Thu, 14 Mar 2024)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[openmp][wasm] Fix microtask type mismatch (#84355)
When OpenMP is compiled for WebAssembly (see #71297), it invokes a
microtask via a `switch` statement that dispatches to the `void *`
microtask pointer with spelled-out arguments (not varargs). As #83329
points out, however, this can result in a type mismatch when the
indirect call is executed by WebAssembly; WebAssembly expects the called
pointer to have the precise type of the call site. This change fixes the
issue by bringing back the approach in [D142593] of type-casting all the
`switch` arms to the precise type. This fixes #83329.
[D142593]: https://reviews.llvm.org/D142593
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list