1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-arc -disable-llvm-passes -o - %s | FileCheck %s
8 struct derived : public base {
15 // CHECK-LABEL: define{{.*}} void @_Z5test1v()
16 // CHECK: call void @_ZN7derivedC1Ev
17 // CHECK: call void @_ZN7derivedD1Ev
20 derived *d2 = new derived;
23 // CHECK-LABEL: define{{.*}} void @_Z5test2v()
24 // CHECK: call void @_ZN7derivedC1Ev
25 // CHECK: call void @_ZN7derivedD1Ev
28 struct tderived : public base {
34 // CHECK-LABEL: define{{.*}} void @_Z5test3v()
35 // CHECK: call void @_ZN8tderivedIiEC1Ev
36 // CHECK: call void @_ZN8tderivedIiED1Ev
39 tderived<int> *d2 = new tderived<int>;
42 // CHECK-LABEL: define{{.*}} void @_Z5test4v()
43 // CHECK: call void @_ZN8tderivedIiEC1Ev
44 // CHECK: call void @_ZN8tderivedIiED1Ev
46 // CHECK-LABEL: define linkonce_odr void @_ZN7derivedD2Ev
47 // CHECK: call void @llvm.objc.storeStrong(ptr {{.*}}, ptr null)
49 // CHECK-LABEL: define linkonce_odr void @_ZN8tderivedIiED2Ev
50 // CHECK: call void @llvm.objc.storeStrong(ptr {{.*}}, ptr null)