// RUN: %clang_cc1 -std=c++17 -emit-llvm %s -triple x86_64-windows-msvc -o - | FileCheck %s

// Make sure virtual base base destructors get referenced and emitted if
// necessary when the complete ("vbase") destructor is emitted. In this case,
// clang previously did not emit ~DefaultedDtor.
struct HasDtor { ~HasDtor(); };
struct DefaultedDtor {
  ~DefaultedDtor() = default;
  HasDtor o;
};
struct HasCompleteDtor : virtual DefaultedDtor {
  ~HasCompleteDtor();
};
void useCompleteDtor(HasCompleteDtor *p) { delete p; }

// CHECK-LABEL: define dso_local void @"?useCompleteDtor@@YAXPEAUHasCompleteDtor@@@Z"(ptr noundef %p)
// CHECK: call void @"??_DHasCompleteDtor@@QEAAXXZ"({{.*}})

// CHECK-LABEL: define linkonce_odr dso_local void @"??_DHasCompleteDtor@@QEAAXXZ"(ptr {{[^,]*}} %this)
// CHECK: call void @"??1HasCompleteDtor@@QEAA@XZ"({{.*}})
// CHECK: call void @"??1DefaultedDtor@@QEAA@XZ"({{.*}})

// CHECK-LABEL: define linkonce_odr dso_local void @"??1DefaultedDtor@@QEAA@XZ"(ptr {{[^,]*}} %this)
// CHECK: call void @"??1HasDtor@@QEAA@XZ"(ptr {{[^,]*}} %{{.*}})

