1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-windows-msvc %s -emit-llvm -o - | FileCheck %s
2 
3 // If we de-virtualize ~Foo, we still need to call ??1Foo, not ??_DFoo.
4 
5 struct Base {
6   virtual ~Base();
7 };
8 struct Foo final : Base {
9 };
f(Foo * p)10 void f(Foo *p) {
11   p->~Foo();
12 }
13 
14 // CHECK-LABEL: define{{.*}} void @"?f@@YAXPEAUFoo@@@Z"(%struct.Foo* %p)
15 // CHECK: call void @"??1Foo@@UEAA@XZ"
16 // CHECK: ret void
17