1fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com// RUN: %clang_cc1 -g -S -emit-llvm %s -o - | FileCheck %s
2fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com
3fa0588ff672564af1c235a63589573829035a60bcaryclark@google.comclass A { int a; };
4fa0588ff672564af1c235a63589573829035a60bcaryclark@google.comclass B {
5fa0588ff672564af1c235a63589573829035a60bcaryclark@google.compublic:
6fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com  B() { a = new A; }
7b45a1b46ee25e9b19800b028bb1ca925212ac7b4caryclark@google.com  ~B() { delete a; }
8fa0588ff672564af1c235a63589573829035a60bcaryclark@google.comprivate:
9fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com  A *a;
10fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com};
11fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com
1215fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.comvoid fn(B b);
1315fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.com
1415fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.comint i;
15b45a1b46ee25e9b19800b028bb1ca925212ac7b4caryclark@google.comvoid foo() {
16b45a1b46ee25e9b19800b028bb1ca925212ac7b4caryclark@google.com  if (i) {
1715fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.com    B b1;
1815fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.com    fn (b1);
1915fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.com  }
2015fa138f2276a77679530fb608463ff5b4133f7bcaryclark@google.com}
21fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com// Check there is a line number entry for line 19 where b1 is destructed.
22fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com// CHECK: i32 19, i32 0, metadata
23fa0588ff672564af1c235a63589573829035a60bcaryclark@google.com