diff --git a/clang/test/Analysis/refcnt_naming.m b/clang/test/Analysis/refcnt_naming.m index 5b8b5d18bca8..1390cdd73d0c 100644 --- a/clang/test/Analysis/refcnt_naming.m +++ b/clang/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