[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
Showing
- include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h 5 additions, 0 deletionsinclude/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
- lib/StaticAnalyzer/Core/CallEvent.cpp 54 additions, 9 deletionslib/StaticAnalyzer/Core/CallEvent.cpp
- test/Analysis/properties.m 69 additions, 0 deletionstest/Analysis/properties.m
Loading
Please register or sign in to comment