Apply #[inline(never)] to functions that we want in the backtrace

This commit is contained in:
Aaron Hill 2020-09-24 23:00:32 -04:00
parent 11e2dbd51c
commit dba7f13549
No known key found for this signature in database
GPG Key ID: B4087E510E98B164
3 changed files with 9 additions and 9 deletions

View File

@ -14,9 +14,9 @@ struct MiriFrame {
colno: u32
}
fn func_a() -> Box<[*mut ()]> { func_b::<u8>() }
fn func_b<T>() -> Box<[*mut ()]> { func_c() }
fn func_c() -> Box<[*mut ()]> { unsafe { miri_get_backtrace(0) } }
#[inline(never)] fn func_a() -> Box<[*mut ()]> { func_b::<u8>() }
#[inline(never)] fn func_b<T>() -> Box<[*mut ()]> { func_c() }
#[inline(never)] fn func_c() -> Box<[*mut ()]> { unsafe { miri_get_backtrace(0) } }
fn main() {
let mut seen_main = false;

View File

@ -1,6 +1,6 @@
$DIR/backtrace-api.rs:19:42 (func_c)
$DIR/backtrace-api.rs:18:36 (func_b::<u8>)
$DIR/backtrace-api.rs:17:33 (func_a)
$DIR/backtrace-api.rs:19:59 (func_c)
$DIR/backtrace-api.rs:18:53 (func_b::<u8>)
$DIR/backtrace-api.rs:17:50 (func_a)
$DIR/backtrace-api.rs:23:18 (main)
RUSTLIB/src/rust/library/core/src/ops/function.rs:LL:COL (<fn() as std::ops::FnOnce<()>>::call_once - shim(fn()))
RUSTLIB/src/rust/library/std/src/sys_common/backtrace.rs:LL:COL (std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>)

View File

@ -1,4 +1,4 @@
$DIR/backtrace-api.rs:19:42 (func_c)
$DIR/backtrace-api.rs:18:36 (func_b::<u8>)
$DIR/backtrace-api.rs:17:33 (func_a)
$DIR/backtrace-api.rs:19:59 (func_c)
$DIR/backtrace-api.rs:18:53 (func_b::<u8>)
$DIR/backtrace-api.rs:17:50 (func_a)
$DIR/backtrace-api.rs:23:18 (main)