forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			30 lines
		
	
	
		
			564 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			564 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-LABEL: define void @_Z1g3Foo(%struct.Foo* %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
 | 
						|
}
 | 
						|
 |