aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-10-28 02:50:32 +0000
committerTed Kremenek <kremenek@apple.com>2010-10-28 02:50:32 +0000
commitcf38af20ebf829c9808245ab0ed323b08600fbc9 (patch)
tree1aa5c605c9dbe79fa70b3c78f4cc5f9a8d4f7f21
parent10302c01e8ceffd86c1a2b1bb15466e852ca8898 (diff)
Add test case for <rdar://problem/8356342>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117525 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Analysis/retain-release.m19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Analysis/retain-release.m b/test/Analysis/retain-release.m
index 064165aaf9..c9760de2bb 100644
--- a/test/Analysis/retain-release.m
+++ b/test/Analysis/retain-release.m
@@ -1367,3 +1367,22 @@ void r8272168() {
GetAClassThatImplementsProt_R8272168();
}
+// Test case for <rdar://problem/8356342>, which in the past triggered
+// a false positive.
+@interface RDar8356342
+- (NSDate*) rdar8356342:(NSDate *)inValue;
+@end
+
+@implementation RDar8356342
+- (NSDate*) rdar8356342:(NSDate*)inValue {
+ NSDate *outValue = inValue;
+ if (outValue == 0)
+ outValue = [[NSDate alloc] init]; // no-warning
+
+ if (outValue != inValue)
+ [outValue autorelease];
+
+ return outValue;
+}
+@end
+