forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
| // RUN: %clang_cc1 -triple x86_64-windows-msvc -debug-info-kind=limited \
 | |
| // RUN:   -gno-inline-line-tables -emit-llvm -o - %s | FileCheck %s
 | |
| // RUN: %clang -gno-inline-line-tables -S -emit-llvm -o - %s | FileCheck %s \
 | |
| // RUN:   -check-prefix=INLINE-FLAG
 | |
| // RUN: %clang -S -emit-llvm -o - %s | FileCheck %s -check-prefix=NO-FLAG
 | |
| 
 | |
| int x;
 | |
| __attribute((always_inline)) void f() {
 | |
|   x += 1;
 | |
| }
 | |
| int main() {
 | |
|   f();
 | |
|   x += 2;
 | |
|   return x;
 | |
| }
 | |
| 
 | |
| // Check that clang emits the location of the call site and not the inlined
 | |
| // function in the debug info.
 | |
| // CHECK: define dso_local i32 @main()
 | |
| // CHECK: %{{.+}} = load i32, i32* @x, align 4, !dbg [[DbgLoc:![0-9]+]]
 | |
| 
 | |
| // Check that the no-inline-line-tables attribute is added.
 | |
| // CHECK: attributes #0 = {{.*}}"no-inline-line-tables"{{.*}}
 | |
| // CHECK: attributes #1 = {{.*}}"no-inline-line-tables"{{.*}}
 | |
| 
 | |
| // CHECK: [[DbgLoc]] = !DILocation(line: 12,
 | |
| // CHECK-NOT:  inlinedAt:
 | |
| 
 | |
| // INLINE-FLAG: attributes #0 = {{.*}}"no-inline-line-tables"{{.*}}
 | |
| // INLINE-FLAG: attributes #1 = {{.*}}"no-inline-line-tables"{{.*}}
 | |
| // NO-FLAG-NOT: "no-inline-line-tables"
 |