summaryrefslogtreecommitdiff
path: root/clang/test/SemaObjC/block-as-object.m
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaObjC/block-as-object.m')
-rw-r--r--clang/test/SemaObjC/block-as-object.m20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/block-as-object.m b/clang/test/SemaObjC/block-as-object.m
new file mode 100644
index 0000000..a85b606
--- /dev/null
+++ b/clang/test/SemaObjC/block-as-object.m
@@ -0,0 +1,20 @@
+// RUN: %clang_cc1 %s -fsyntax-only -verify -fblocks
+
+@interface Whatever
+- copy;
+@end
+
+typedef long (^MyBlock)(id obj1, id obj2);
+
+void foo(MyBlock b) {
+ id bar = [b copy];
+}
+
+void foo2(id b) {
+}
+
+void foo3(void (^block)(void)) {
+ foo2(block);
+ id x;
+ foo(x);
+}