xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fapple-kext -fno-rtti -emit-llvm -o - %s | FileCheck %s
2 
3 // CHECK-LABEL: define void @_ZN2B1D0Ev
4 // CHECK: [[T1:%.*]] = load void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)** bitcast ([5 x i8*]* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
5 // CHECK-NEXT: call void [[T1]](%struct.B1* [[T2:%.*]])
6 // CHECK-LABEL: define void @_Z6DELETEP2B1
7 // CHECK: [[T3:%.*]] = load void (%struct.B1*)** getelementptr inbounds (void (%struct.B1*)** bitcast ([5 x i8*]* @_ZTV2B1 to void (%struct.B1*)**), i64 2)
8 // CHECK-NEXT:  call void [[T3]](%struct.B1* [[T4:%.*]])
9 
10 
11 struct B1 {
12   virtual ~B1();
13 };
14 
~B1()15 B1::~B1() {}
16 
DELETE(B1 * pb1)17 void DELETE(B1 *pb1) {
18   pb1->B1::~B1();
19 }
20