diff options
author | Devin Coughlin <dcoughlin@apple.com> | 2016-01-27 01:41:58 +0000 |
---|---|---|
committer | Devin Coughlin <dcoughlin@apple.com> | 2016-01-27 01:41:58 +0000 |
commit | 3075134739edc9cd16d5ca7b9a78d8b4d5fbff3e (patch) | |
tree | ce46cbcdad87a0e0baf8b3c2a41a2290b92f58c5 /llvm/lib/Target/AMDGPU/AMDGPUIntrinsicInfo.cpp | |
parent | ece881d5182873dd780b53387047fb8300cd5c7d (diff) | |
download | bcm5719-llvm-3075134739edc9cd16d5ca7b9a78d8b4d5fbff3e.tar.gz bcm5719-llvm-3075134739edc9cd16d5ca7b9a78d8b4d5fbff3e.zip |
[analyzer] ObjCDeallocChecker: Only operate on classes with retained properties.
Previously the ObjC Dealloc Checker only checked classes with ivars, not
retained properties, which caused three bugs:
- False positive warnings about a missing -dealloc method in classes with only
ivars.
- Missing warnings about a missing -dealloc method on classes with only
properties.
- Missing warnings about an over-released or under-released ivar associated with
a retained property in classes with only properties.
The fix is to check only classes with at least one retained synthesized
property.
This also exposed a bug when reporting an over-released or under-released
property that did not contain a synthesize statement. The checker tried to
associate the warning with an @synthesize statement that did not exist, which
caused an assertion failure in debug builds. The fix is to fall back to the
@property statement in this case.
A patch by David Kilzer!
Part of rdar://problem/6927496
Differential Revision: http://reviews.llvm.org/D5023
llvm-svn: 258896
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUIntrinsicInfo.cpp')
0 files changed, 0 insertions, 0 deletions