aboutsummaryrefslogtreecommitdiff
path: root/test/ARCMT/rewrite-block-var.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/ARCMT/rewrite-block-var.m')
-rw-r--r--test/ARCMT/rewrite-block-var.m20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/ARCMT/rewrite-block-var.m b/test/ARCMT/rewrite-block-var.m
index e6a8fb72e00a..538f16c25574 100644
--- a/test/ARCMT/rewrite-block-var.m
+++ b/test/ARCMT/rewrite-block-var.m
@@ -23,3 +23,23 @@ void test2(Foo *p) {
x = [p something];
});
}
+
+void test3(Foo *p) {
+ __block Foo *x; // __block used as output variable.
+ bar(^{
+ [x something];
+ });
+ bar(^{
+ x = 0;
+ });
+}
+
+void test4(Foo *p) {
+ __block Foo *x = p; // __block used just to break cycle.
+ bar(^{
+ [x something];
+ });
+ bar(^{
+ [x something];
+ });
+}