Home | History | Annotate | Download | only in CodeGenCXX
      1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
      2 
      3 struct Foo {
      4   Foo();
      5   Foo(const Foo&);
      6 };
      7 
      8 struct Bar {
      9   Bar();
     10   operator const Foo&() const;
     11 };
     12 
     13 void f(Foo);
     14 
     15 // CHECK-LABEL: define void @_Z1g3Foo(%struct.Foo* %foo)
     16 void 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