// 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 }