181e5a936a510f32ccbe85303147f1b0a587b6504Eric Christopher// RUN: %clang_cc1 -g -S -emit-llvm %s -o - | FileCheck %s
281e5a936a510f32ccbe85303147f1b0a587b6504Eric Christopher
3cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelclass A { int a; };
4cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelclass B {
5cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelpublic:
6cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel  B() { a = new A; }
7cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel  ~B() { delete a; }
8cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelprivate:
9cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel  A *a;
10cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel};
11cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel
12cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelvoid fn(B b);
13cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel
14cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelint i;
15cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patelvoid foo() {
16cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel  if (i) {
17cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel    B b1;
18cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel    fn (b1);
19cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel  }
20cd9199eb3dd1a665ea642f3918020a53e5ecb673Devang Patel}
2181e5a936a510f32ccbe85303147f1b0a587b6504Eric Christopher// Check there is a line number entry for line 19 where b1 is destructed.
2281e5a936a510f32ccbe85303147f1b0a587b6504Eric Christopher// CHECK: i32 19, i32 3, metadata
23