Commit Graph

3 Commits

Author SHA1 Message Date
George Karpenkov fdff255e9d [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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338314 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-30 22:18:21 +00:00
George Karpenkov 384410eb05 [analyzer] Fix crash in RunLoopAutoreleaseChecker on empty children
Differential Revision: https://reviews.llvm.org/D50012

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338312 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-30 21:44:15 +00:00
George Karpenkov cbf42820fa [analyzer] Syntactic matcher for leaks associated with run loop and autoreleasepool
A checker for detecting leaks resulting from allocating temporary
autoreleasing objects before starting the main run loop.

Checks for two antipatterns:

1. ObjCMessageExpr followed by [[NARunLoop mainRunLoop] run] in the same
autorelease pool.

2. ObjCMessageExpr followed by [[NARunLoop mainRunLoop] run] in no
autorelease pool.

Happens-before relationship is modeled purely syntactically.

rdar://39299145

Differential Revision: https://reviews.llvm.org/D49528

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@337876 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-25 01:27:15 +00:00