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 | 8c6096e374203b1c79d85ca03ddebbc1d486c9fe (patch) | |
tree | 26c15e8b098f95f17abe7c880ac7c4a714cbba52 | |
parent | 91ad269f265fb8e4170a46b2e864b2ba622e309e (diff) |
Add back test cases for ns_returns_retained and cf_returns_retained.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71312 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Analysis/retain-release-gc-only.m | 17 | ||||
-rw-r--r-- | test/Analysis/retain-release.m | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/test/Analysis/retain-release-gc-only.m b/test/Analysis/retain-release-gc-only.m index f83c7e115d..f9e00d3eab 100644 --- a/test/Analysis/retain-release-gc-only.m +++ b/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/test/Analysis/retain-release.m b/test/Analysis/retain-release.m index 49fd98b3b7..acc469a7b7 100644 --- a/test/Analysis/retain-release.m +++ b/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}} +} + |