Migrate wasm-exceptions-nostd
to rmake
This commit is contained in:
parent
189232bc42
commit
68b6bb27c1
@ -186,5 +186,4 @@ run-make/track-pgo-dep-info/Makefile
|
||||
run-make/translation/Makefile
|
||||
run-make/type-mismatch-same-crate-name/Makefile
|
||||
run-make/unstable-flag-required/Makefile
|
||||
run-make/wasm-exceptions-nostd/Makefile
|
||||
run-make/x86_64-fortanix-unknown-sgx-lvi/Makefile
|
||||
|
@ -1,12 +0,0 @@
|
||||
include ../tools.mk
|
||||
|
||||
# only-wasm32-bare
|
||||
|
||||
# Add a few command line args to make exceptions work
|
||||
RUSTC := $(RUSTC) -C llvm-args=-wasm-enable-eh
|
||||
RUSTC := $(RUSTC) -C target-feature=+exception-handling
|
||||
RUSTC := $(RUSTC) -C panic=unwind
|
||||
|
||||
all:
|
||||
$(RUSTC) src/lib.rs --target wasm32-unknown-unknown
|
||||
$(NODE) verify.mjs $(TMPDIR)/lib.wasm
|
18
tests/run-make/wasm-exceptions-nostd/rmake.rs
Normal file
18
tests/run-make/wasm-exceptions-nostd/rmake.rs
Normal file
@ -0,0 +1,18 @@
|
||||
//@ only-wasm32-bare
|
||||
|
||||
use std::path::Path;
|
||||
|
||||
use run_make_support::{cmd, env_var, rustc};
|
||||
|
||||
fn main() {
|
||||
// Add a few command line args to make exceptions work
|
||||
rustc()
|
||||
.input(Path::new("src").join("lib.rs"))
|
||||
.target("wasm32-unknown-unknown")
|
||||
.panic("unwind")
|
||||
.arg("-Cllvm-args=-wasm-enable-eh")
|
||||
.arg("-Ctarget-feature=+exception-handling")
|
||||
.run();
|
||||
|
||||
cmd(&env_var("NODE")).arg("verify.mjs").arg("lib.wasm").run();
|
||||
}
|
@ -17,8 +17,8 @@ fn panic_handler(info: &core::panic::PanicInfo<'_>) -> ! {
|
||||
use alloc::boxed::Box;
|
||||
use alloc::string::ToString;
|
||||
|
||||
let msg = info.message().map(|msg| msg.to_string()).unwrap_or("(no message)".to_string());
|
||||
let exception = Box::new(msg.to_string());
|
||||
let msg = info.message().to_string();
|
||||
let exception = Box::new(msg);
|
||||
unsafe {
|
||||
let exception_raw = Box::into_raw(exception);
|
||||
wasm_throw(exception_raw as *mut u8);
|
||||
|
Loading…
Reference in New Issue
Block a user