diff options
author | Mike Stump <mrs@apple.com> | 2009-04-10 23:09:55 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-04-10 23:09:55 +0000 |
commit | d352fd36997724a87d498dbc2b30edde5ac8fdbe (patch) | |
tree | 9beee8a542a56a593b9805e95fd0caa85b7d3f6d | |
parent | 5acb3a28e2e4006917e6bddb420ca4afef930214 (diff) | |
download | bcm5719-llvm-d352fd36997724a87d498dbc2b30edde5ac8fdbe.tar.gz bcm5719-llvm-d352fd36997724a87d498dbc2b30edde5ac8fdbe.zip |
Fixup copy/dispose helpers for Objective-C. Radar 6756504
llvm-svn: 68837
-rw-r--r-- | clang/lib/CodeGen/CGBlocks.h | 2 | ||||
-rw-r--r-- | clang/test/CodeGenObjC/blocks-1.m | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.h b/clang/lib/CodeGen/CGBlocks.h index 58276c294d8..e065e003d4e 100644 --- a/clang/lib/CodeGen/CGBlocks.h +++ b/clang/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/clang/test/CodeGenObjC/blocks-1.m b/clang/test/CodeGenObjC/blocks-1.m new file mode 100644 index 00000000000..f7bbc322445 --- /dev/null +++ b/clang/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; }(); +} |