From 1f8e4346fac477398c2443cbe7c0289b038db2d0 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Sun, 10 May 2009 16:52:15 +0000 Subject: Add special warning about returning a retained object where a GC'ed object is expected. llvm-svn: 71397 --- clang/test/Analysis/retain-release-gc-only.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'clang/test') diff --git a/clang/test/Analysis/retain-release-gc-only.m b/clang/test/Analysis/retain-release-gc-only.m index 5aa39ec0a21..70ad54f8aa4 100644 --- a/clang/test/Analysis/retain-release-gc-only.m +++ b/clang/test/Analysis/retain-release-gc-only.m @@ -128,13 +128,17 @@ void f3() { // is expected. @interface TestReturnNotOwnedWhenExpectedOwned - (NSString*)newString; +- (CFMutableArrayRef)newArray; @end @implementation TestReturnNotOwnedWhenExpectedOwned - (NSString*)newString { - NSString *s = [NSString stringWithUTF8String:"hello"]; - // FIXME: Should this be an error anyway? - return s; // no-warning + NSString *s = [NSString stringWithUTF8String:"hello"]; // expected-warning{{Potential leak (when using garbage collection) of an object allocated on line 136 and stored into 's'}} + CFRetain(s); + return s; +} +- (CFMutableArrayRef)newArray{ + return CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // no-warning } @end -- cgit v1.2.3