Prevent __rust_begin_short_backtrace frames from being tail-call optimised away

This commit is contained in:
Alan Egerton 2020-08-04 22:18:20 +01:00
parent 4d4342347b
commit 5792840bf5
6 changed files with 74 additions and 12 deletions

View file

@ -0,0 +1,18 @@
// Regression test for #47429: short backtraces were not terminating correctly
// compile-flags: -O
// run-fail
// check-run-results
// exec-env:RUST_BACKTRACE=1
// ignore-msvc see #62897 and `backtrace-debuginfo.rs` test
// ignore-android FIXME #17520
// ignore-cloudabi spawning processes is not supported
// ignore-openbsd no support for libbacktrace without filename
// ignore-wasm no panic or subprocess support
// ignore-emscripten no panic or subprocess support
// ignore-sgx no subprocess support
fn main() {
panic!()
}

View file

@ -0,0 +1,5 @@
thread 'main' panicked at 'explicit panic', $DIR/issue-47429-short-backtraces.rs:17:5
stack backtrace:
0: std::panicking::begin_panic
1: issue_47429_short_backtraces::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.