27 lines
		
	
	
		
			434 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			434 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -emit-llvm -std=c++11 -o - %s -triple x86_64-pc-linux-gnu | FileCheck %s
 | |
| 
 | |
| struct A {
 | |
|   A &operator=(A&&);
 | |
| };
 | |
| 
 | |
| struct B {
 | |
|   A a;
 | |
|   int i;
 | |
|   bool b;
 | |
|   char c;
 | |
|   long l;
 | |
|   float f;
 | |
| };
 | |
| 
 | |
| void test1() {
 | |
|   B b1, b2;
 | |
|   b1 = static_cast<B&&>(b2);
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: define {{.*}} @_ZN1BaSEOS_
 | |
| // CHECK: call {{.*}} @_ZN1AaSEOS_
 | |
| // CHECK-NOT: store
 | |
| // CHECK: call {{.*}}memcpy{{.*}}, i64 24
 | |
| // CHECK-NOT: store
 | |
| // CHECK: ret
 |