diff options
author | Alex Lorenz <arphaman@gmail.com> | 2017-11-17 20:44:25 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2017-11-17 20:44:25 +0000 |
commit | 42a97a94caa7f8699c3af82b1aa4ed87431b6012 (patch) | |
tree | fa35eeed364e10b1019fd12a4753d0c51803b59d /clang/test/SemaObjC | |
parent | 0f90672ae99d73bd11f16f9b39deb2fe94719434 (diff) | |
download | bcm5719-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.m | 12 |
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. + }]; +} |