]> granicus.if.org Git - clang/commit
[analyzer] Improve modeling of ObjC synthesized property setters.
authorDevin Coughlin <dcoughlin@apple.com>
Thu, 18 Feb 2016 19:13:30 +0000 (19:13 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Thu, 18 Feb 2016 19:13:30 +0000 (19:13 +0000)
commit29e6c0aba58b2b40551cc9416483a44581bcfcfe
tree80c008e7276375da89ccc51a91efba70ac6f82b2
parent29be6b71af1b7278252fc1361859ecf41bf44e91
[analyzer] Improve modeling of ObjC synthesized property setters.

When modeling a call to a setter for a property that is synthesized to be
backed by an instance variable, don't invalidate the entire instance
but rather only the storage for the updated instance variable itself.

This still doesn't model the effect of the setter completely. It doesn't
bind the set value to the ivar storage location because doing so would cause
the set value to escape, removing valuable diagnostics about potential
leaks of the value from the retain count checker.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261243 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
lib/StaticAnalyzer/Core/CallEvent.cpp
test/Analysis/properties.m