Nick Lewycky | 7fda207 | 2013-09-10 05:14:39 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -emit-llvm -std=c++11 -o - %s -triple x86_64-pc-linux-gnu | FileCheck %s |
2 | |||||
3 | struct A { | ||||
4 | A &operator=(A&&); | ||||
5 | }; | ||||
6 | |||||
7 | struct B { | ||||
8 | A a; | ||||
9 | int i; | ||||
10 | bool b; | ||||
11 | char c; | ||||
12 | long l; | ||||
13 | float f; | ||||
14 | }; | ||||
15 | |||||
16 | void 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: store | ||||
24 | // CHECK: call {{.*}}memcpy{{.*}}, i64 24 | ||||
25 | // CHECK-NOT: store | ||||
26 | // CHECK: ret |