Add regression test

This commit is contained in:
Wesley Wiser 2021-07-28 11:40:53 -04:00
parent eba3228b2a
commit 3fda7086cc
2 changed files with 47 additions and 0 deletions

View file

@ -0,0 +1,44 @@
// Regression test for #87481: short backtrace formatting cut off the entire stack trace.
// Codegen-units is specified here so that we can replicate a typical rustc invocation which
// is not normally limited to 1 CGU. This is important so that the `__rust_begin_short_backtrace`
// and `__rust_end_short_backtrace` symbols are not marked internal to the CGU and thus will be
// named in the symbol table.
// compile-flags: -O -Ccodegen-units=8
// run-fail
// check-run-results
// exec-env:RUST_BACKTRACE=1
// Backtraces are pretty broken in general on i686-pc-windows-msvc (#62897).
// only-x86_64-pc-windows-msvc
fn main() {
a();
}
// Make these no_mangle so dbghelp.dll can figure out the symbol names.
#[no_mangle]
#[inline(never)]
fn a() {
b();
}
#[no_mangle]
#[inline(never)]
fn b() {
c();
}
#[no_mangle]
#[inline(never)]
fn c() {
d();
}
#[no_mangle]
#[inline(never)]
fn d() {
panic!("d was called");
}

View file

@ -0,0 +1,3 @@
thread 'main' panicked at 'd was called', $DIR/panic-short-backtrace-windows-x86_64.rs:43:5
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.