diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2010-04-03 07:51:34 +0000 |
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2010-04-03 07:51:34 +0000 |
| commit | 2c56c396ce5990954f85194029eeb391bc3529ff (patch) | |
| tree | 1e9c2f464daf7966d11aa31cf069fa1bc63fdb21 /test/CodeGenCXX/copy-initialization.cpp | |
| parent | 11d2b2d2bb706fca0656f2760839721bb7f6cb6f (diff) | |
Notes
Diffstat (limited to 'test/CodeGenCXX/copy-initialization.cpp')
| -rw-r--r-- | test/CodeGenCXX/copy-initialization.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/CodeGenCXX/copy-initialization.cpp b/test/CodeGenCXX/copy-initialization.cpp new file mode 100644 index 0000000000000..62b9f2678a43f --- /dev/null +++ b/test/CodeGenCXX/copy-initialization.cpp @@ -0,0 +1,29 @@ +// 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 +} + |
