diff options
| author | Ted Kremenek <kremenek@apple.com> | 2009-05-09 03:10:32 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2009-05-09 03:10:32 +0000 |
| commit | d73cfc734bbedd910c8d3a56bbc07c643169ea05 (patch) | |
| tree | d4ea7d966ae28b5c5d7a8f2ccbf92893a651dda4 /clang/test | |
| parent | 669604cded4fe6678700e04dc7dcc444e952cddf (diff) | |
| download | bcm5719-llvm-d73cfc734bbedd910c8d3a56bbc07c643169ea05.tar.gz bcm5719-llvm-d73cfc734bbedd910c8d3a56bbc07c643169ea05.zip | |
Add back test cases for ns_returns_retained and cf_returns_retained.
llvm-svn: 71312
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Analysis/retain-release-gc-only.m | 17 | ||||
| -rw-r--r-- | clang/test/Analysis/retain-release.m | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/clang/test/Analysis/retain-release-gc-only.m b/clang/test/Analysis/retain-release-gc-only.m index f83c7e115df..f9e00d3eab8 100644 --- a/clang/test/Analysis/retain-release-gc-only.m +++ b/clang/test/Analysis/retain-release-gc-only.m @@ -124,3 +124,20 @@ void f3() { CFRetain(A); } +//===----------------------------------------------------------------------===// +// Tests of ownership attributes. +//===----------------------------------------------------------------------===// + +@interface TestOwnershipAttr : NSObject +- (NSString*) returnsAnOwnedString __attribute__((ns_returns_retained)); +- (NSString*) returnsAnOwnedCFString __attribute__((cf_returns_retained)); +@end + +void test_attr_1(TestOwnershipAttr *X) { + NSString *str = [X returnsAnOwnedString]; // no-warning +} + +void test_attr_1b(TestOwnershipAttr *X) { + NSString *str = [X returnsAnOwnedCFString]; // expected-warning{{leak}} +} + diff --git a/clang/test/Analysis/retain-release.m b/clang/test/Analysis/retain-release.m index 49fd98b3b7e..acc469a7b77 100644 --- a/clang/test/Analysis/retain-release.m +++ b/clang/test/Analysis/retain-release.m @@ -475,3 +475,20 @@ void rdar6704930(unsigned char *s, unsigned int length) { } @end +//===----------------------------------------------------------------------===// +// Tests of ownership attributes. +//===----------------------------------------------------------------------===// + +@interface TestOwnershipAttr : NSObject +- (NSString*) returnsAnOwnedString __attribute__((ns_returns_retained)); +- (NSString*) returnsAnOwnedCFString __attribute__((cf_returns_retained)); +@end + +void test_attr_1(TestOwnershipAttr *X) { + NSString *str = [X returnsAnOwnedString]; // expected-warning{{leak}} +} + +void test_attr_1b(TestOwnershipAttr *X) { + NSString *str = [X returnsAnOwnedCFString]; // expected-warning{{leak}} +} + |

