about summary refs log tree commit diff
path: root/tests/run-make/pdb-alt-path/main.rs
blob: d38d540fbc257e2ab2783c9dabaedd62c744a948 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// The various #[inline(never)] annotations and std::hint::black_box calls are
// an attempt to make unwinding as non-flaky as possible on i686-pc-windows-msvc.

#[inline(never)]
fn generate_backtrace(x: &u32) {
    std::hint::black_box(x);
    let bt = std::backtrace::Backtrace::force_capture();
    println!("{}", bt);
    std::hint::black_box(x);
}

#[inline(never)]
fn fn_in_backtrace(x: &u32) {
    std::hint::black_box(x);
    generate_backtrace(x);
    std::hint::black_box(x);
}

fn main() {
    let x = &41;
    std::hint::black_box(x);
    fn_in_backtrace(x);
    std::hint::black_box(x);
}