summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2019-04-17 23:14:44 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2019-04-17 23:14:44 +0000
commitac57af32843f0670b00eea5cf9f993241907f5ce (patch)
tree1dd7dcc16bdfc6db2e43e3c63db57466b41265ef /clang/test/SemaObjC
parent0b19f5aef94c734f45d91b20b48e98b257692792 (diff)
downloadbcm5719-llvm-ac57af32843f0670b00eea5cf9f993241907f5ce.tar.gz
bcm5719-llvm-ac57af32843f0670b00eea5cf9f993241907f5ce.zip
[Sema][ObjC] Don't warn about an implicitly retained self if the
retaining block and all of the enclosing blocks are non-escaping. If the block implicitly retaining self doesn't escape, there is no risk of creating retain cycles, so clang shouldn't diagnose it and force users to add self-> to silence the diagnostic. Also, fix a bug where clang was failing to diagnose an implicitly retained self inside a c++ lambda nested inside a block. rdar://problem/25059955 Differential Revision: https://reviews.llvm.org/D60736 llvm-svn: 358624
Diffstat (limited to 'clang/test/SemaObjC')
-rw-r--r--clang/test/SemaObjC/warn-implicit-self-in-block.m18
1 files changed, 0 insertions, 18 deletions
diff --git a/clang/test/SemaObjC/warn-implicit-self-in-block.m b/clang/test/SemaObjC/warn-implicit-self-in-block.m
deleted file mode 100644
index a7ee16ec700..00000000000
--- a/clang/test/SemaObjC/warn-implicit-self-in-block.m
+++ /dev/null
@@ -1,18 +0,0 @@
-// RUN: %clang_cc1 -x objective-c -fobjc-arc -fblocks -Wimplicit-retain-self -verify %s
-// rdar://11194874
-
-@interface Root @end
-
-@interface I : Root
-{
- int _bar;
-}
-@end
-
-@implementation I
- - (void)foo{
- ^{
- _bar = 3; // expected-warning {{block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior}}
- }();
- }
-@end
OpenPOWER on IntegriCloud