summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/copy-in-cplus-object.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-06-04 16:10:00 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-06-04 16:10:00 +0000
commit64176c2c9751997bfbc0e3a7c070f5aaa767be25 (patch)
tree09811544eeb40bfa1b075c97f63d041ce708d5d0 /clang/test/CodeGenCXX/copy-in-cplus-object.cpp
parent92eb2cbbef54102a35d44fd5d827d092cabff306 (diff)
downloadbcm5719-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.cpp18
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_
+
OpenPOWER on IntegriCloud