summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2018-07-30 22:18:21 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2018-07-30 22:18:21 +0000
commit81c84a9755c511b8f4c2cf9abe45fc47e705309a (patch)
tree554d9fc4525f8933a8d356954b73b0987a2a5a83 /clang/test
parent28226e7d64df6f5c99fca296533007e79abf6930 (diff)
downloadbcm5719-llvm-81c84a9755c511b8f4c2cf9abe45fc47e705309a.tar.gz
bcm5719-llvm-81c84a9755c511b8f4c2cf9abe45fc47e705309a.zip
[analyzer] Bugfix for autorelease + main run loop leak checker
Do not warn when the other message-send-expression is correctly wrapped in a different autorelease pool. Differential Revision: https://reviews.llvm.org/D49921 llvm-svn: 338314
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m b/clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m
index 32fc2206a31..b00d71b1a4d 100644
--- a/clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m
+++ b/clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m
@@ -29,6 +29,17 @@ void runloop_init_before() { // Warning: object created before the loop.
}
}
+void runloop_init_before_separate_pool() { // No warning: separate autorelease pool.
+ @autoreleasepool {
+ NSObject *object;
+ @autoreleasepool {
+ object = [[NSObject alloc] init]; // no-warning
+ }
+ (void) object;
+ [[NSRunLoop mainRunLoop] run];
+ }
+}
+
void xpcmain_init_before() { // Warning: object created before the loop.
@autoreleasepool {
NSObject *object = [[NSObject alloc] init]; // expected-warning{{Temporary objects allocated in the autorelease pool followed by the launch of xpc_main may never get released; consider moving them to a separate autorelease pool}}
OpenPOWER on IntegriCloud