1 // RUN: %clang_cc1 -fobjc-gc -emit-llvm -triple x86_64-apple-darwin10.0.0 -o - %s | FileCheck %s
3 A &operator=(const A&);
12 virtual C& operator=(const C&);
21 CopyByValue(const CopyByValue&);
22 CopyByValue &operator=(CopyByValue);
25 struct D : A, B, virtual C {
27 int scalar_array[2][3];
29 C class_member_array[2][3];
40 void test_D(D d1, D d2) {
44 // CHECK: define linkonce_odr %struct.D* @_ZN1DaSERS_
45 // CHECK: {{call.*_ZN1AaSERS_}}
46 // CHECK: {{call.*_ZN1BaSERS_}}
47 // CHECK: {{call.*_ZN1CaSERKS_}}
48 // CHECK: {{call void @llvm.memcpy.p0i8.p0i8.i64.*i64 24}}
49 // CHECK: {{call.*_ZN1BaSERS_}}
51 // CHECK: {{call.*_ZN1CaSERKS_}}
52 // CHECK: {{call.*@objc_memmove_collectable}}
53 // CHECK: {{call void @llvm.memcpy.p0i8.p0i8.i64.*i64 12}}
54 // CHECK: call void @_ZN11CopyByValueC1ERKS_
55 // CHECK: {{call.*_ZN11CopyByValueaSES_}}