refcnt_naming.m revision 3ad2cc89ab6302ef5bda1a1550d405a15df2b013
1// RUN: clang -checker-cfref -verify %s
2
3typedef const struct __CFString * CFStringRef;
4typedef const struct __CFAllocator * CFAllocatorRef;
5typedef const struct __CFURL * CFURLRef;
6extern CFURLRef CFURLCreateWithString(CFAllocatorRef allocator, CFStringRef URLString, CFURLRef baseURL);
7typedef signed char BOOL;
8@protocol NSObject  - (BOOL)isEqual:(id)object; @end
9@interface NSObject <NSObject> {} @end
10@class NSArray, NSString, NSURL;
11
12@interface MyClass : NSObject
13{
14}
15- (NSURL *)myMethod:(NSString *)inString;
16@end
17
18@implementation MyClass
19
20- (NSURL *)myMethod:(NSString *)inString
21{
22	NSURL *url = (NSURL *)CFURLCreateWithString(0, (CFStringRef)inString, 0);
23	return url; // expected-warning{{leak}}
24}
25
26@end
27