diff options
| author | Jacob Pratt <jacob@jhpratt.dev> | 2025-01-06 22:04:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-06 22:04:13 -0500 |
| commit | 4e4a93c2dd4bae8472924d03c37f387fbf3b074c (patch) | |
| tree | c8db61e78f14c45c4121735e00d7d6d7c8e5d35d /compiler/rustc_codegen_ssa/src/back | |
| parent | 0f1e965fec3bc2f97b932e9dd8e85fca6d7faadc (diff) | |
| parent | 49c74234a79107afa7f86ca947708c3abef07674 (diff) | |
Rollup merge of #131830 - hoodmane:emscripten-wasm-eh, r=workingjubilee
Add support for wasm exception handling to Emscripten target This is a draft because we need some additional setting for the Emscripten target to select between the old exception handling and the new exception handling. I don't know how to add a setting like that, would appreciate advice from Rust folks. We could maybe choose to use the new exception handling if `Ctarget-feature=+exception-handling` is passed? I tried this but I get errors from llvm so I'm not doing it right.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/link.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs index 2587d6dfdc4..e4b3ad19801 100644 --- a/compiler/rustc_codegen_ssa/src/back/link.rs +++ b/compiler/rustc_codegen_ssa/src/back/link.rs @@ -2451,10 +2451,12 @@ fn add_order_independent_options( } if sess.target.os == "emscripten" { - cmd.cc_arg("-s").cc_arg(if sess.panic_strategy() == PanicStrategy::Abort { - "DISABLE_EXCEPTION_CATCHING=1" + cmd.cc_arg(if sess.panic_strategy() == PanicStrategy::Abort { + "-sDISABLE_EXCEPTION_CATCHING=1" + } else if sess.opts.unstable_opts.emscripten_wasm_eh { + "-fwasm-exceptions" } else { - "DISABLE_EXCEPTION_CATCHING=0" + "-sDISABLE_EXCEPTION_CATCHING=0" }); } |
