// RUN: %clang_cc1 -no-opaque-pointers -emit-llvm -triple i686-pc-windows-msvc19.0.24213 -gcodeview -debug-info-kind=limited -std=c++14 %s -o - | FileCheck %s
// PR33997.
struct WithDtor {
  ~WithDtor();
};
struct Base {
  Base(WithDtor);
};
class Forward : Base {
  using Base::Base;
};
class A : Forward {
  A();
};
class B : Forward {
  B();
};
A::A() : Forward(WithDtor()) {}

B::B() : Forward(WithDtor()) {}

// CHECK: define{{.*}}A
// CHECK-NOT: {{ ret }}
// CHECK: store %class.Forward* %
// CHECK-SAME: %class.Forward** %
// CHECK-SAME: !dbg ![[INL:[0-9]+]]

// CHECK: ![[INL]] = !DILocation(line: 10, column: 15, scope: ![[SP:[0-9]+]], inlinedAt:
// CHECK: ![[SP]] = distinct !DISubprogram(name: "Base", {{.*}} DISPFlagDefinition
