| // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -fobjc-arc -disable-llvm-passes -o - %s | FileCheck %s |
| struct derived : public base { |
| // CHECK-LABEL: define void @_Z5test1v() |
| // CHECK: call void @_ZN7derivedC1Ev |
| // CHECK: call void @_ZN7derivedD1Ev |
| derived *d2 = new derived; |
| // CHECK-LABEL: define void @_Z5test2v() |
| // CHECK: call void @_ZN7derivedC1Ev |
| // CHECK: call void @_ZN7derivedD1Ev |
| struct tderived : public base { |
| // CHECK-LABEL: define void @_Z5test3v() |
| // CHECK: call void @_ZN8tderivedIiEC1Ev |
| // CHECK: call void @_ZN8tderivedIiED1Ev |
| tderived<int> *d2 = new tderived<int>; |
| // CHECK-LABEL: define void @_Z5test4v() |
| // CHECK: call void @_ZN8tderivedIiEC1Ev |
| // CHECK: call void @_ZN8tderivedIiED1Ev |
| // CHECK-LABEL: define linkonce_odr void @_ZN7derivedD2Ev |
| // CHECK: call void @objc_storeStrong(i8** {{.*}}, i8* null) |
| // CHECK-LABEL: define linkonce_odr void @_ZN8tderivedIiED2Ev |
| // CHECK: call void @objc_storeStrong(i8** {{.*}}, i8* null) |