]> granicus.if.org Git - clang/commit
[analyzer] Make ObjCDeallocChecker path sensitive.
authorDevin Coughlin <dcoughlin@apple.com>
Thu, 25 Feb 2016 18:55:24 +0000 (18:55 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Thu, 25 Feb 2016 18:55:24 +0000 (18:55 +0000)
commitc1a5cdd6f421aca1284f1ed208e1da191bdba02c
tree38dc9ce3b6bfc693e39b06782af16f102635f0a7
parent456d37fdc19be138c86905f4da0dcd21277c7564
[analyzer] Make ObjCDeallocChecker path sensitive.

Convert the ObjCDeallocChecker to be path sensitive. The primary
motivation for this change is to prevent false positives when -dealloc calls
helper invalidation methods to release instance variables, but it additionally
improves precision when -dealloc contains control flow. It also reduces the need
for pattern matching. The check for missing -dealloc methods remains AST-based.

Part of rdar://problem/6927496

Differential Revision: http://reviews.llvm.org/D17511

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261917 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
test/Analysis/DeallocMissingRelease.m
test/Analysis/MissingDealloc.m
test/Analysis/PR2978.m
test/Analysis/properties.m