diff options
| -rw-r--r-- | clang/test/Analysis/retain-release.m | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/clang/test/Analysis/retain-release.m b/clang/test/Analysis/retain-release.m index 87e09e9a837..ba492b7b19a 100644 --- a/clang/test/Analysis/retain-release.m +++ b/clang/test/Analysis/retain-release.m @@ -300,6 +300,9 @@ extern CGColorSpaceRef CGColorSpaceCreateDeviceRGB(void);  + (id)array;  @end +// This is how NSMakeCollectable is declared in the OS X 10.8 headers. +id NSMakeCollectable(CFTypeRef __attribute__((cf_consumed))) __attribute__((ns_returns_retained)); +  //===----------------------------------------------------------------------===//  // Test cases. @@ -1842,3 +1845,13 @@ void rdar11400885(int y)      NSLog(@"Again: %@", printString); // expected-warning {{Reference-counted object is used after it is released}}    }  } + +id makeCollectableNonLeak() { +  extern CFTypeRef CFCreateSomething(); + +  CFTypeRef object = CFCreateSomething(); // +1 +  CFRetain(object); // +2 +  id objCObject = NSMakeCollectable(object); // +2 +  [objCObject release]; // +1 +  return [objCObject autorelease]; // +0 +} | 

