diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-09-21 23:22:11 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-09-21 23:22:11 +0000 |
commit | c32b24452ebb537934b20b7133a3a0cbce447666 (patch) | |
tree | 20229400c3a1fee5fb3bd23b30488b1facb90cbd | |
parent | b924259cc53e4d38e493616715e7b3e95bdee1ef (diff) |
Add test case for <rdar://problem/6829164>, which was implicitly fixed in r79694.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82495 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Analysis/misc-ps.m | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Analysis/misc-ps.m b/test/Analysis/misc-ps.m index d7c3db7439..f05ec95643 100644 --- a/test/Analysis/misc-ps.m +++ b/test/Analysis/misc-ps.m @@ -610,3 +610,25 @@ void test_offsetof_4() { *p = 0xDEADBEEF; // expected-warning{{Dereference of null pointer}} } +// <rdar://problem/6829164> "nil receiver" false positive: make tracking +// of the MemRegion for 'self' path-sensitive +@interface RDar6829164 : NSObject { + double x; int y; +} +- (id) init; +@end + +id rdar_6829164_1(); +double rdar_6829164_2(); + +@implementation RDar6829164 +- (id) init { + if((self = [super init]) != 0) { + id z = rdar_6829164_1(); + y = (z != 0); + if (y) + x = rdar_6829164_2(); + } + return self; +} +@end |