diff options
-rw-r--r-- | test/Analysis/retain-release.m | 19 |
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 + |