aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-03-05 05:14:55 +0000
committerTed Kremenek <kremenek@apple.com>2009-03-05 05:14:55 +0000
commitf27893a1a17dbde417dc7bccbbd25992c33215f9 (patch)
tree50da0d9f95f80c3b6a99475b0590d9424b347dbd
parentaad45e0e0fef78af16849714047d877bb4473de8 (diff)
Test case: When using RegionStore with the retain/release checker, stop tracking objects assigned to self's ivar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66139 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Analysis/retain-release-region-store.m17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Analysis/retain-release-region-store.m b/test/Analysis/retain-release-region-store.m
index ca040743b1..651ffa76df 100644
--- a/test/Analysis/retain-release-region-store.m
+++ b/test/Analysis/retain-release-region-store.m
@@ -99,3 +99,20 @@ CFAbsoluteTime f4() {
return t;
}
+// Test that assigning to an self.ivar loses track of an object.
+// This is a temporary hack to reduce false positives.
+@interface Test3 : NSObject {
+ id myObj;
+}
+- (void)test_self_assign_ivar;
+@end
+
+@implementation Test3
+- (void)test_self_assign_ivar {
+ CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
+ CFDateRef date = CFDateCreate(0, t); // no-warning
+ myObj = (id) date;
+}
+@end
+
+