1 // RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin10.0.0 -o - %s | FileCheck %s
3 A
&operator=(const A
&);
12 virtual C
& operator=(const C
&);
20 CopyByValue(const CopyByValue
&);
21 CopyByValue
&operator=(CopyByValue
);
24 struct D
: A
, B
, virtual C
{
26 int scalar_array
[2][3];
28 C class_member_array
[2][3];
39 void test_D(D d1
, D d2
) {
43 // CHECK-LABEL: define linkonce_odr noundef nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @_ZN1DaSERS_
44 // CHECK: {{call.*_ZN1AaSERS_}}
45 // CHECK: {{call.*_ZN1BaSERS_}}
46 // CHECK: {{call.*_ZN1CaSERKS_}}
47 // CHECK: {{call void @llvm.memcpy.p0.p0.i64.*i64 28}}
48 // CHECK: {{call.*_ZN1BaSERS_}}
50 // CHECK: {{call.*_ZN1CaSERKS_}}
51 // CHECK: {{call void @llvm.memcpy.p0.p0.i64.*i64 288}}
52 // CHECK: {{call void @llvm.memcpy.p0.p0.i64.*i64 12}}
53 // CHECK: call void @_ZN11CopyByValueC1ERKS_
54 // CHECK: {{call.*_ZN11CopyByValueaSES_}}