27 lines · cpp
1// RUN: %clang_cc1 -emit-llvm -std=c++11 -o - %s -triple x86_64-pc-linux-gnu | FileCheck %s2 3struct A {4 A &operator=(A&&);5};6 7struct B {8 A a;9 int i;10 bool b;11 char c;12 long l;13 float f;14};15 16void test1() {17 B b1, b2;18 b1 = static_cast<B&&>(b2);19}20 21// CHECK-LABEL: define {{.*}} @_ZN1BaSEOS_22// CHECK: call {{.*}} @_ZN1AaSEOS_23// CHECK-NOT: store24// CHECK: call {{.*}}memcpy{{.*}}, i64 2425// CHECK-NOT: store26// CHECK: ret27