about summary refs log tree commit diff
path: root/src/test/codegen
diff options
context:
space:
mode:
authorAmanieu d'Antras <amanieu@gmail.com>2020-03-02 13:59:20 +0000
committerAmanieu d'Antras <amanieu@gmail.com>2020-03-05 17:36:50 +0000
commit1c950e5c6f85422283bb23bb4bad07ae6c3d2fe1 (patch)
tree01318bda757bf28d59cdd218b456b99736c613a8 /src/test/codegen
parent5953c100d1e9eea5ca70f185e905ea0773a34eb5 (diff)
downloadrust-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.rs5
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))
 }