diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-04-28 22:32:26 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-04-28 22:32:26 +0000 |
commit | 869292d5b6394e5dbc0e66c7f86705fb1acbc4bb (patch) | |
tree | 92688a4b331d2ab27eb3fa35a45acdcc0ab0f1f8 /clang/test/Analysis/retain-release-gc-only.m | |
parent | 865efd72b31978d198eb4fd0a229280e1313b7d5 (diff) | |
download | bcm5719-llvm-869292d5b6394e5dbc0e66c7f86705fb1acbc4bb.tar.gz bcm5719-llvm-869292d5b6394e5dbc0e66c7f86705fb1acbc4bb.zip |
Implement ownership attribute 'objc_ownership_make_collectable'. This allows one
to add 'CFMakeCollectable' semantics to a method.
llvm-svn: 70336
Diffstat (limited to 'clang/test/Analysis/retain-release-gc-only.m')
-rw-r--r-- | clang/test/Analysis/retain-release-gc-only.m | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/Analysis/retain-release-gc-only.m b/clang/test/Analysis/retain-release-gc-only.m index d4871f4de1f..e008f4a795a 100644 --- a/clang/test/Analysis/retain-release-gc-only.m +++ b/clang/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]; +} + + |