1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-arc -disable-llvm-passes -o - %s | FileCheck %s
7 struct derived : public base {
14 // CHECK-LABEL: define{{.*}} void @_Z5test1v()
15 // CHECK: call void @_ZN7derivedC1Ev
16 // CHECK: call void @_ZN7derivedD1Ev
19 derived *d2 = new derived;
22 // CHECK-LABEL: define{{.*}} void @_Z5test2v()
23 // CHECK: call void @_ZN7derivedC1Ev
24 // CHECK: call void @_ZN7derivedD1Ev
27 struct tderived : public base {
33 // CHECK-LABEL: define{{.*}} void @_Z5test3v()
34 // CHECK: call void @_ZN8tderivedIiEC1Ev
35 // CHECK: call void @_ZN8tderivedIiED1Ev
38 tderived<int> *d2 = new tderived<int>;
41 // CHECK-LABEL: define{{.*}} void @_Z5test4v()
42 // CHECK: call void @_ZN8tderivedIiEC1Ev
43 // CHECK: call void @_ZN8tderivedIiED1Ev
45 // CHECK-LABEL: define linkonce_odr void @_ZN7derivedD2Ev
46 // CHECK: call void @llvm.objc.storeStrong(ptr {{.*}}, ptr null)
48 // CHECK-LABEL: define linkonce_odr void @_ZN8tderivedIiED2Ev
49 // CHECK: call void @llvm.objc.storeStrong(ptr {{.*}}, ptr null)