diff options
| author | Alan Egerton <eggyal@gmail.com> | 2020-08-04 22:18:20 +0100 |
|---|---|---|
| committer | Alan Egerton <eggyal@gmail.com> | 2020-08-07 19:31:25 +0100 |
| commit | 5792840bf52e4cf77ebb7b3bd93e9c90dd23f4e7 (patch) | |
| tree | a3bfeaade21999a1b1bba131225ba0238e767d19 /src | |
| parent | 4d4342347b71313258a46e506ee0a258f365185c (diff) | |
| download | rust-5792840bf52e4cf77ebb7b3bd93e9c90dd23f4e7.tar.gz rust-5792840bf52e4cf77ebb7b3bd93e9c90dd23f4e7.zip | |
Prevent `__rust_begin_short_backtrace` frames from being tail-call optimised away
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/panics/issue-47429-short-backtraces.rs | 18 | ||||
| -rw-r--r-- | src/test/ui/panics/issue-47429-short-backtraces.run.stderr | 5 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/panics/issue-47429-short-backtraces.rs b/src/test/ui/panics/issue-47429-short-backtraces.rs new file mode 100644 index 00000000000..1e8c38cc342 --- /dev/null +++ b/src/test/ui/panics/issue-47429-short-backtraces.rs @@ -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!() +} diff --git a/src/test/ui/panics/issue-47429-short-backtraces.run.stderr b/src/test/ui/panics/issue-47429-short-backtraces.run.stderr new file mode 100644 index 00000000000..99ee26fe55e --- /dev/null +++ b/src/test/ui/panics/issue-47429-short-backtraces.run.stderr @@ -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. |
