1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 2 3struct Foo { 4 Foo(); 5 Foo(const Foo&); 6}; 7 8struct Bar { 9 Bar(); 10 operator const Foo&() const; 11}; 12 13void f(Foo); 14 15// CHECK-LABEL: define void @_Z1g3Foo(%struct.Foo* %foo) 16void g(Foo foo) { 17 // CHECK: call void @_ZN3BarC1Ev 18 // CHECK: @_ZNK3BarcvRK3FooEv 19 // CHECK: call void @_Z1f3Foo 20 f(Bar()); 21 // CHECK: call void @_ZN3FooC1Ev 22 // CHECK: call void @_Z1f3Foo 23 f(Foo()); 24 // CHECK: call void @_ZN3FooC1ERKS_ 25 // CHECK: call void @_Z1f3Foo 26 f(foo); 27 // CHECK: ret 28} 29 30