summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/extended-block-signature-encode.m
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-11-14 23:11:38 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-11-14 23:11:38 +0000
commit64223e6db13744067840a3f9b9f0583cba4d6c59 (patch)
tree8cedd051ae6bc80f5b21f7394baa7394681ba7d9 /clang/test/CodeGenObjC/extended-block-signature-encode.m
parente0db519ae98ce3fd5204f08103771afe7650446d (diff)
downloadbcm5719-llvm-64223e6db13744067840a3f9b9f0583cba4d6c59.tar.gz
bcm5719-llvm-64223e6db13744067840a3f9b9f0583cba4d6c59.zip
objective-C blocks: under cc1 flag -encode-extended-block-signature,
generate expanded signature encoding to include types as we already do this for protocol method lists. // rdar://12109031 llvm-svn: 167997
Diffstat (limited to 'clang/test/CodeGenObjC/extended-block-signature-encode.m')
-rw-r--r--clang/test/CodeGenObjC/extended-block-signature-encode.m15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjC/extended-block-signature-encode.m b/clang/test/CodeGenObjC/extended-block-signature-encode.m
new file mode 100644
index 00000000000..11d57847aca
--- /dev/null
+++ b/clang/test/CodeGenObjC/extended-block-signature-encode.m
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin -encode-extended-block-signature -emit-llvm %s -o - | FileCheck %s
+// RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin -emit-llvm %s -o - | FileCheck %s -check-prefix=BRIEF
+// rdar://12109031
+
+@class NSString, NSArray;
+
+typedef NSString*(^BBB)(NSArray*);
+
+int main ()
+{
+ BBB b1;
+ ^(BBB arg1, double arg2){ return b1; }(0, 3.14);
+}
+// CHECK: @{{.*}} = private unnamed_addr constant [64 x i8] c"@?<@\22NSString\22@?@\22NSArray\22>24@?0@?<@\22NSString\22@?@\22NSArray\22>8d16\00"
+// CHECK-BRIEF: @{{.*}} = private unnamed_addr constant [14 x i8] c"@?24@?0@?8d16\00"
OpenPOWER on IntegriCloud