]> granicus.if.org Git - clang/commitdiff
This test no longer is marked XFAIL.
authorTed Kremenek <kremenek@apple.com>
Fri, 24 Oct 2008 20:33:56 +0000 (20:33 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 24 Oct 2008 20:33:56 +0000 (20:33 +0000)
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

test/Analysis/refcnt_naming.m

index 5b8b5d18bca845fcba0a1b4252e6d745f8842682..1390cdd73d0c74309a676899b7e187cdbce194a5 100644 (file)
@@ -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