mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
5fdeae610d
When compiling with panic=abort (or using a target that doesn't have unwinding support), the compiler adds the "nounwind" attribute to functions. This results in a different LLVM IR, which results in a #NNN added after the function name: tail call void @bar() #13, !dbg !467 attributes #13 = { nounwind } ...instead of: tail call void @bar(), !dbg !467 This commit changes the matchers to swallow the #NNN, as it's not needed for these specific tests.
25 lines
641 B
Rust
25 lines
641 B
Rust
// Verify that debuginfo column numbers are 1-based byte offsets.
|
|
//
|
|
// ignore-windows
|
|
// compile-flags: -C debuginfo=2
|
|
|
|
fn main() {
|
|
unsafe {
|
|
// Column numbers are 1-based. Regression test for #65437.
|
|
// CHECK: call void @giraffe(){{( #[0-9]+)?}}, !dbg [[A:!.*]]
|
|
giraffe();
|
|
|
|
// Column numbers use byte offests. Regression test for #67360
|
|
// CHECK: call void @turtle(){{( #[0-9]+)?}}, !dbg [[B:!.*]]
|
|
/* ż */ turtle();
|
|
|
|
// CHECK: [[A]] = !DILocation(line: 10, column: 9,
|
|
// CHECK: [[B]] = !DILocation(line: 14, column: 10,
|
|
}
|
|
}
|
|
|
|
extern "C" {
|
|
fn giraffe();
|
|
fn turtle();
|
|
}
|