mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-30 20:44:34 +00:00 
			
		
		
		
	 5fdeae610d
			
		
	
	
		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();
 | |
| }
 |