mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-12 08:36:03 +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.
26 lines
456 B
Rust
26 lines
456 B
Rust
// compile-flags: -O -g
|
|
|
|
#![crate_type = "lib"]
|
|
|
|
#[inline(always)]
|
|
fn foo() {
|
|
bar();
|
|
}
|
|
|
|
#[inline(never)]
|
|
#[no_mangle]
|
|
fn bar() {
|
|
panic!();
|
|
}
|
|
|
|
#[no_mangle]
|
|
pub fn example() {
|
|
foo();
|
|
}
|
|
|
|
// CHECK-LABEL: @example
|
|
// CHECK: tail call void @bar(){{( #[0-9]+)?}}, !dbg [[DBG_ID:![0-9]+]]
|
|
// CHECK: [[DBG_ID]] = !DILocation(line: 7,
|
|
// CHECK-SAME: inlinedAt: [[INLINE_ID:![0-9]+]])
|
|
// CHECK: [[INLINE_ID]] = !DILocation(line: 18,
|