From: Mike Stump Date: Fri, 10 Apr 2009 23:09:55 +0000 (+0000) Subject: Fixup copy/dispose helpers for Objective-C. Radar 6756504 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0c0ef061f2aaf054c7a970f28961097e46661f3;p=clang Fixup copy/dispose helpers for Objective-C. Radar 6756504 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68837 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGBlocks.h b/lib/CodeGen/CGBlocks.h index 58276c294d..e065e003d4 100644 --- a/lib/CodeGen/CGBlocks.h +++ b/lib/CodeGen/CGBlocks.h @@ -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 index 0000000000..f7bbc32244 --- /dev/null +++ b/test/CodeGenObjC/blocks-1.m @@ -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; }(); +}