diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-06-04 16:10:00 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-06-04 16:10:00 +0000 |
commit | 64176c2c9751997bfbc0e3a7c070f5aaa767be25 (patch) | |
tree | 09811544eeb40bfa1b075c97f63d041ce708d5d0 /clang/test/CodeGenCXX/copy-in-cplus-object.cpp | |
parent | 92eb2cbbef54102a35d44fd5d827d092cabff306 (diff) | |
download | bcm5719-llvm-64176c2c9751997bfbc0e3a7c070f5aaa767be25.tar.gz bcm5719-llvm-64176c2c9751997bfbc0e3a7c070f5aaa767be25.zip |
For C++ copied in objects, use copy constructors in
setting up block's descriptor. This is on going work to
support c++ specific issues in setting up blocks
various APIs.
llvm-svn: 105469
Diffstat (limited to 'clang/test/CodeGenCXX/copy-in-cplus-object.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/copy-in-cplus-object.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/copy-in-cplus-object.cpp b/clang/test/CodeGenCXX/copy-in-cplus-object.cpp new file mode 100644 index 00000000000..6dcb1285faf --- /dev/null +++ b/clang/test/CodeGenCXX/copy-in-cplus-object.cpp @@ -0,0 +1,18 @@ +// RUN: %clang_cc1 %s -fblocks -triple x86_64-apple-darwin -emit-llvm -o - | FileCheck %s + +struct TestObject +{ + TestObject(const TestObject& inObj); + TestObject(); + TestObject& operator=(const TestObject& inObj); + int version() const; + +}; + +void testRoutine() { + TestObject one; + int (^V)() = ^{ return one.version(); }; +} + +// CHECK: call void @_ZN10TestObjectC1ERKS_ + |