New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebAssembly Exceptions #4546
Comments
testcase: https://d.godbolt.org/z/fbMborTez |
I've found the issue. target datalayout = "e-m:e-p:64:64-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
target triple = "wasm64-unknown-unknown"
define void @foo() personality ptr @_d_eh_personality {
unreachable
}
declare i32 @_d_eh_personality(i32, i32, i64, ptr, ptr)
declare i32 @__gxx_wasm_personality_v0(...)
If we'd use |
Here is the stack trace for a simple try/catch Assertion failed: R == 0 && "Already initialized this value register!", file F:\Development\llvm-project\llvm\include\llvm/CodeGen/FunctionLoweringInfo.h, line 222
|
I tried compiling with this and it was still giving the same error. Also, changing the function name to the
|
More debug info:
|
When changing to the __gxx_wasm_personality_v0 function, the infinite loop is on the EHPadBB while:
|
Seems to be fixed in 1.36.0 |
nevermind I didn't have the proper compile flag when testing (has to be in lflags too for dub now) |
I tried compiling a simple try/catch wasm32-unknown-wasi .d file with --wasm-enable-eh and I get a crash while writing the object file. Is it supported currently?
Thanks
The text was updated successfully, but these errors were encountered: