summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2017-11-17 20:44:25 +0000
committerAlex Lorenz <arphaman@gmail.com>2017-11-17 20:44:25 +0000
commit42a97a94caa7f8699c3af82b1aa4ed87431b6012 (patch)
treefa35eeed364e10b1019fd12a4753d0c51803b59d /clang/test/SemaObjC
parent0f90672ae99d73bd11f16f9b39deb2fe94719434 (diff)
downloadbcm5719-llvm-42a97a94caa7f8699c3af82b1aa4ed87431b6012.tar.gz
bcm5719-llvm-42a97a94caa7f8699c3af82b1aa4ed87431b6012.zip
[ObjC][ARC] Honor noescape attribute for -Warc-retain-cycles
rdar://35409566 Differential Revision: https://reviews.llvm.org/D40141 llvm-svn: 318552
Diffstat (limited to 'clang/test/SemaObjC')
-rw-r--r--clang/test/SemaObjC/warn-retain-cycle.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/warn-retain-cycle.m b/clang/test/SemaObjC/warn-retain-cycle.m
index 4398d29e4a8..f27f1f8e041 100644
--- a/clang/test/SemaObjC/warn-retain-cycle.m
+++ b/clang/test/SemaObjC/warn-retain-cycle.m
@@ -198,3 +198,15 @@ __block void(^myBlock)(void) = ^{
};
}
+
+typedef void (^a_block_t)(void);
+
+@interface HonorNoEscape
+- (void)addStuffUsingBlock:(__attribute__((noescape)) a_block_t)block;
+@end
+
+void testNoEscape(HonorNoEscape *obj) {
+ [obj addStuffUsingBlock:^{
+ (void)obj; // ok.
+ }];
+}
OpenPOWER on IntegriCloud