aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-09-21 23:22:11 +0000
committerTed Kremenek <kremenek@apple.com>2009-09-21 23:22:11 +0000
commitc32b24452ebb537934b20b7133a3a0cbce447666 (patch)
tree20229400c3a1fee5fb3bd23b30488b1facb90cbd
parentb924259cc53e4d38e493616715e7b3e95bdee1ef (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.m22
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