15abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fapple-kext -fno-rtti -emit-llvm -o - %s | FileCheck %s
25abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian
393ab6bf534fb6c26563c00f28a8fc5581bb71dfdStephen Lin// CHECK-LABEL: define void @_ZN2B1D0Ev
45abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian// CHECK: [[T1:%.*]] = load void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)** bitcast ([5 x i8*]* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
55abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian// CHECK-NEXT: call void [[T1]](%struct.B1* [[T2:%.*]])
693ab6bf534fb6c26563c00f28a8fc5581bb71dfdStephen Lin// CHECK-LABEL: define void @_Z6DELETEP2B1
75abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian// CHECK: [[T3:%.*]] = load void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)** bitcast ([5 x i8*]* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
85abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian// CHECK-NEXT:  call void [[T3]](%struct.B1* [[T4:%.*]])
95abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian
105abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian
115abec14a235bff4026c030672701a9853350e8cfFariborz Jahanianstruct B1 {
125abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian  virtual ~B1();
135abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian};
145abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian
155abec14a235bff4026c030672701a9853350e8cfFariborz JahanianB1::~B1() {}
165abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian
175abec14a235bff4026c030672701a9853350e8cfFariborz Jahanianvoid DELETE(B1 *pb1) {
185abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian  pb1->B1::~B1();
195abec14a235bff4026c030672701a9853350e8cfFariborz Jahanian}
20