about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-03-14 19:54:23 +0000
committerbors <bors@rust-lang.org>2020-03-14 19:54:23 +0000
commit7cdbc87a49b0b705a41a004a6d486b0952521ae7 (patch)
tree25d94247c97cf08fa81d3f72b247a8d2c0d2d1c4 /src/libcore
parent131772c5e0ba40cd656dedb5e1990d36e3ea31cf (diff)
parentb450e1baf4c35ad4812fba9cb1946ea20d405ad8 (diff)
downloadrust-7cdbc87a49b0b705a41a004a6d486b0952521ae7.tar.gz
rust-7cdbc87a49b0b705a41a004a6d486b0952521ae7.zip
Auto merge of #69999 - RalfJung:miri-unwind, r=oli-obk
adjust Miri to needs of changed unwinding strategy

As expected, https://github.com/rust-lang/rust/pull/67502 broke unwinding in Miri. To fix it we have to adjust parts of the engine and the panic runtime, which this PR does. The Miri-side changes are in https://github.com/rust-lang/miri/pull/1227.

Cc @oli-obk @Aaron1011 @Mark-Simulacrum @Amanieu
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/intrinsics.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libcore/intrinsics.rs b/src/libcore/intrinsics.rs
index c2f13047e54..d722406b82b 100644
--- a/src/libcore/intrinsics.rs
+++ b/src/libcore/intrinsics.rs
@@ -1892,10 +1892,12 @@ extern "rust-intrinsic" {
     pub fn ptr_offset_from<T>(ptr: *const T, base: *const T) -> isize;
 
     /// Internal hook used by Miri to implement unwinding.
-    /// Compiles to a NOP during non-Miri codegen.
+    /// ICEs when encountered during non-Miri codegen.
     ///
-    /// Perma-unstable: do not use
-    pub fn miri_start_panic(data: *mut (dyn crate::any::Any + crate::marker::Send)) -> ();
+    /// The `payload` ptr here will be exactly the one `do_catch` gets passed by `try`.
+    ///
+    /// Perma-unstable: do not use.
+    pub fn miri_start_panic(payload: *mut u8) -> !;
 }
 
 // Some functions are defined here because they accidentally got made