forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			558 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			558 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
 | |
| 
 | |
| struct Foo {
 | |
|   Foo();
 | |
|   Foo(const Foo&);
 | |
| };
 | |
| 
 | |
| struct Bar {
 | |
|   Bar();
 | |
|   operator const Foo&() const;
 | |
| };
 | |
| 
 | |
| void f(Foo);
 | |
| 
 | |
| // CHECK: define void @_Z1g3Foo(%struct.Bar* %foo)
 | |
| void g(Foo foo) {
 | |
|   // CHECK: call void @_ZN3BarC1Ev
 | |
|   // CHECK: @_ZNK3BarcvRK3FooEv
 | |
|   // CHECK: call void @_Z1f3Foo
 | |
|   f(Bar());
 | |
|   // CHECK: call void @_ZN3FooC1Ev
 | |
|   // CHECK: call void @_Z1f3Foo
 | |
|   f(Foo());
 | |
|   // CHECK: call void @_ZN3FooC1ERKS_
 | |
|   // CHECK: call void @_Z1f3Foo
 | |
|   f(foo);
 | |
|   // CHECK: ret
 | |
| }
 | |
| 
 |