diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-21 14:22:51 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-22 14:27:48 +0200 |
| commit | ed93c1783b404d728d4809973a0550eb33cd293f (patch) | |
| tree | 2b62aab8b2482fcde1f9128ff53be8cd66bde847 /tests/assembly/wasm_exceptions.rs | |
| parent | c0b282f0ccdab7523cdb8dfa41b23bed5573da76 (diff) | |
| download | rust-ed93c1783b404d728d4809973a0550eb33cd293f.tar.gz rust-ed93c1783b404d728d4809973a0550eb33cd293f.zip | |
Rename `tests/assembly` into `tests/assembly-llvm`
Diffstat (limited to 'tests/assembly/wasm_exceptions.rs')
| -rw-r--r-- | tests/assembly/wasm_exceptions.rs | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/tests/assembly/wasm_exceptions.rs b/tests/assembly/wasm_exceptions.rs deleted file mode 100644 index 704e8026f3f..00000000000 --- a/tests/assembly/wasm_exceptions.rs +++ /dev/null @@ -1,67 +0,0 @@ -//@ only-wasm32 -//@ assembly-output: emit-asm -//@ compile-flags: -C target-feature=+exception-handling -//@ compile-flags: -C panic=unwind - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -extern "C-unwind" { - fn may_panic(); -} - -extern "C" { - fn log_number(number: usize); -} - -struct LogOnDrop; - -impl Drop for LogOnDrop { - fn drop(&mut self) { - unsafe { - log_number(0); - } - } -} - -// CHECK-LABEL: test_cleanup: -#[no_mangle] -pub fn test_cleanup() { - let _log_on_drop = LogOnDrop; - unsafe { - may_panic(); - } - - // CHECK-NOT: call - // CHECK: try - // CHECK: call may_panic - // CHECK: catch_all - // CHECK: rethrow - // CHECK: end_try -} - -// CHECK-LABEL: test_rtry: -#[no_mangle] -pub fn test_rtry() { - unsafe { - core::intrinsics::catch_unwind( - |_| { - may_panic(); - }, - core::ptr::null_mut(), - |data, exception| { - log_number(data as usize); - log_number(exception as usize); - }, - ); - } - - // CHECK-NOT: call - // CHECK: try - // CHECK: call may_panic - // CHECK: catch - // CHECK: call log_number - // CHECK: call log_number - // CHECK-NOT: rethrow - // CHECK: end_try -} |
