|
1 | 1 | //@ run-pass |
| 2 | +// We disable tail merging here because it can't preserve debuginfo and thus |
| 3 | +// potentially breaks the backtraces. Also, subtle changes can decide whether |
| 4 | +// tail merging succeeds, so the test might work today but fail tomorrow due to a |
| 5 | +// seemingly completely unrelated change. |
| 6 | +// Unfortunately, LLVM has no "disable" option for this, so we have to set |
| 7 | +// "enable" to 0 instead. |
| 8 | + |
| 9 | +//@ compile-flags:-g -Copt-level=0 -Cllvm-args=-enable-tail-merge=0 |
| 10 | +//@ compile-flags:-Cforce-frame-pointers=yes |
| 11 | +//@ compile-flags:-Cstrip=none |
2 | 12 | //@ ignore-android FIXME #17520 |
3 | 13 | //@ needs-subprocess |
4 | | -//@ ignore-openbsd no support for libbacktrace without filename |
5 | | -//@ ignore-fuchsia Backtraces not symbolized |
6 | | -//@ compile-flags:-g |
7 | | -//@ compile-flags:-Cstrip=none |
| 14 | +//@ ignore-fuchsia Backtrace not symbolized, trace different line alignment |
| 15 | +//@ ignore-ios needs the `.dSYM` files to be moved to the device |
| 16 | +//@ ignore-tvos needs the `.dSYM` files to be moved to the device |
| 17 | +//@ ignore-watchos needs the `.dSYM` files to be moved to the device |
| 18 | +//@ ignore-visionos needs the `.dSYM` files to be moved to the device |
| 19 | + |
| 20 | +// FIXME(#117097): backtrace (possibly unwinding mechanism) seems to be different on at least |
| 21 | +// `i686-mingw` (32-bit windows-gnu)? cc #128911. |
| 22 | +//@ ignore-windows-gnu |
| 23 | +//@ ignore-backends: gcc |
8 | 24 |
|
9 | 25 | use std::alloc::{Layout, handle_alloc_error}; |
10 | 26 | use std::process::Command; |
|
0 commit comments