diff options
| author | Amanieu d'Antras <amanieu@gmail.com> | 2020-03-02 13:59:20 +0000 |
|---|---|---|
| committer | Amanieu d'Antras <amanieu@gmail.com> | 2020-03-05 17:36:50 +0000 |
| commit | 1c950e5c6f85422283bb23bb4bad07ae6c3d2fe1 (patch) | |
| tree | 01318bda757bf28d59cdd218b456b99736c613a8 /src/test/codegen | |
| parent | 5953c100d1e9eea5ca70f185e905ea0773a34eb5 (diff) | |
| download | rust-1c950e5c6f85422283bb23bb4bad07ae6c3d2fe1.tar.gz rust-1c950e5c6f85422283bb23bb4bad07ae6c3d2fe1.zip | |
Simplify the try intrinsic by using a callback in the catch block
Diffstat (limited to 'src/test/codegen')
| -rw-r--r-- | src/test/codegen/try-panic-abort.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/test/codegen/try-panic-abort.rs b/src/test/codegen/try-panic-abort.rs index 9bc89a32157..166d2bb9942 100644 --- a/src/test/codegen/try-panic-abort.rs +++ b/src/test/codegen/try-panic-abort.rs @@ -7,11 +7,14 @@ extern "C" { #[unwind(allow)] fn bar(data: *mut u8); } +extern "Rust" { + fn catch(data: *mut u8, exception: *mut u8); +} // CHECK-LABEL: @foo #[no_mangle] pub unsafe fn foo() -> i32 { // CHECK: call void @bar // CHECK: ret i32 0 - std::intrinsics::r#try(|x| bar(x), 0 as *mut u8, 0 as *mut u8) + std::intrinsics::r#try(|x| bar(x), 0 as *mut u8, |x, y| catch(x, y)) } |
