aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorAndrew Brown <andrew.brown@intel.com>2024-03-14 08:23:44 -0700
committerGitHub <noreply@github.com>2024-03-14 10:23:44 -0500
commitd83660827f0cb0054dafef6568ea2fa5b788a39c (patch)
tree292c663eeccf0c8d490769a4314acc73418091fd /clang/lib/CodeGen/CodeGenFunction.cpp
parenta75d0a3dbab6215db228cedf5f2458e251c30637 (diff)
downloadllvm-d83660827f0cb0054dafef6568ea2fa5b788a39c.zip
llvm-d83660827f0cb0054dafef6568ea2fa5b788a39c.tar.gz
llvm-d83660827f0cb0054dafef6568ea2fa5b788a39c.tar.bz2
[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
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions