]> granicus.if.org Git - clang/commitdiff
Fixup copy/dispose helpers for Objective-C. Radar 6756504
authorMike Stump <mrs@apple.com>
Fri, 10 Apr 2009 23:09:55 +0000 (23:09 +0000)
committerMike Stump <mrs@apple.com>
Fri, 10 Apr 2009 23:09:55 +0000 (23:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68837 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGBlocks.h
test/CodeGenObjC/blocks-1.m [new file with mode: 0644]

index 58276c294d8b0ae7ef89f7fd49e761d26a319dff..e065e003d4e498a734896e7f4536a9455586599a 100644 (file)
@@ -207,6 +207,8 @@ public:
       return true;
     if (getContext().isObjCNSObjectType(Ty))
       return true;
+    if (getContext().isObjCObjectPointerType(Ty))
+      return true;
     return false;
   }
 };
diff --git a/test/CodeGenObjC/blocks-1.m b/test/CodeGenObjC/blocks-1.m
new file mode 100644 (file)
index 0000000..f7bbc32
--- /dev/null
@@ -0,0 +1,14 @@
+// RUN: clang-cc %s -emit-llvm -o %t -fblocks &&
+// RUN: grep "_Block_object_dispose" %t | count 2 &&
+// RUN: grep "__copy_helper_block_" %t | count 2 &&
+// RUN: grep "__destroy_helper_block_" %t | count 2 &&
+// RUN: grep "__Block_byref_id_object_copy_" %t | count 0 &&
+// RUN: grep "__Block_byref_id_object_dispose_" %t | count 0 &&
+// RUN: grep "i32 135)" %t | count 0 &&
+// RUN: grep "_Block_object_assign" %t | count 2
+
+@interface NSDictionary @end
+
+void test1(NSDictionary * dict) {
+  ^{ (void)dict; }();
+}