1*67e74705SXin Li // RUN: %clang_cc1 -emit-llvm -std=c++11 -o - %s -triple x86_64-pc-linux-gnu | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li struct A { 4*67e74705SXin Li A &operator=(A&&); 5*67e74705SXin Li }; 6*67e74705SXin Li 7*67e74705SXin Li struct B { 8*67e74705SXin Li A a; 9*67e74705SXin Li int i; 10*67e74705SXin Li bool b; 11*67e74705SXin Li char c; 12*67e74705SXin Li long l; 13*67e74705SXin Li float f; 14*67e74705SXin Li }; 15*67e74705SXin Li test1()16*67e74705SXin Livoid test1() { 17*67e74705SXin Li B b1, b2; 18*67e74705SXin Li b1 = static_cast<B&&>(b2); 19*67e74705SXin Li } 20*67e74705SXin Li 21*67e74705SXin Li // CHECK-LABEL: define {{.*}} @_ZN1BaSEOS_ 22*67e74705SXin Li // CHECK: call {{.*}} @_ZN1AaSEOS_ 23*67e74705SXin Li // CHECK-NOT: store 24*67e74705SXin Li // CHECK: call {{.*}}memcpy{{.*}}, i64 24 25*67e74705SXin Li // CHECK-NOT: store 26*67e74705SXin Li // CHECK: ret 27