[PATCH] D17511: [analyzer] Make ObjCDeallocChecker path sensitive.

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 24 17:44:28 PST 2016


dcoughlin updated this revision to Diff 48995.
dcoughlin marked 8 inline comments as done.
dcoughlin added a comment.

This update addresses Anna's review comments. The big change is that the program state now maps instance symbols to sets of initial ivar symbols that must be released. (Rather than just storing the set, as before). With this approach we don't need to play the trick of explicitly binding the initial field symbols in the store to get notified that they escape when the instance escapes. Instead, we can look up the instance in the map when it escapes and remove the entire set.

I've also fixed a leak where we weren't removing values properly from the set that must be released and fixed a false positive so we no longer warn about a missing release when the field is known to be nil.


http://reviews.llvm.org/D17511

Files:
  lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  test/Analysis/DeallocMissingRelease.m
  test/Analysis/MissingDealloc.m
  test/Analysis/PR2978.m
  test/Analysis/properties.m

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17511.48995.patch
Type: text/x-patch
Size: 59808 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160225/7a09ebca/attachment-0001.bin>


More information about the cfe-commits mailing list