From: Ted Kremenek Date: Fri, 24 Oct 2008 20:33:56 +0000 (+0000) Subject: This test no longer is marked XFAIL. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f4b3548ac5ba2f82f347fb4312adcff4da3fa592;p=clang This test no longer is marked XFAIL. Enhance test to include a case where a tracked object escapes because it is stored to a local ivar through a method dispatch to 'self.' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58109 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/refcnt_naming.m b/test/Analysis/refcnt_naming.m index 5b8b5d18bc..1390cdd73d 100644 --- a/test/Analysis/refcnt_naming.m +++ b/test/Analysis/refcnt_naming.m @@ -1,5 +1,4 @@ // RUN: clang -checker-cfref -verify %s -// XFAIL typedef const struct __CFString * CFStringRef; typedef const struct __CFAllocator * CFAllocatorRef; @@ -12,8 +11,11 @@ typedef signed char BOOL; @interface MyClass : NSObject { + id myObject; } - (NSURL *)myMethod:(NSString *)inString; +- (NSURL *)getMethod:(NSString*)inString; +- (void)addObject:(id)X; @end @implementation MyClass @@ -24,4 +26,17 @@ typedef signed char BOOL; return url; // expected-warning{{leak}} } +- (NSURL *)getMethod:(NSString *)inString +{ + NSURL *url = (NSURL *)CFURLCreateWithString(0, (CFStringRef)inString, 0); + [self addObject:url]; + return url; // no-warning +} + + +- (void)addObject:(id)X +{ + myObject = X; +} + @end