diff options
Diffstat (limited to 'test/Analysis/retain-release-gc-only.m')
-rw-r--r-- | test/Analysis/retain-release-gc-only.m | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/Analysis/retain-release-gc-only.m b/test/Analysis/retain-release-gc-only.m index d4871f4de1..e008f4a795 100644 --- a/test/Analysis/retain-release-gc-only.m +++ b/test/Analysis/retain-release-gc-only.m @@ -134,6 +134,7 @@ void f3() { - (void) myCFRetain:(id)__attribute__((objc_ownership_cfretain))obj; - (void) myRelease:(id)__attribute__((objc_ownership_release))obj; - (void) myCFRelease:(id)__attribute__((objc_ownership_cfrelease))obj; +- (void) makeCollectable:(id)__attribute__((objc_ownership_make_collectable))obj; @end void test_attr_1(TestOwnershipAttr *X) { @@ -181,3 +182,14 @@ void test_attr_5c(TestOwnershipAttr *X) { [X myCFRetain:str]; [X myCFRelease:str]; } + +void test_attr_6a(TestOwnershipAttr *X) { + CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // expected-warning{{leak}} +} + +void test_attr_6b(TestOwnershipAttr *X) { + CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // no-warning + [X makeCollectable:(id)A]; +} + + |