// 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"
