diff options
author | Anna Zaks <ganna@apple.com> | 2013-03-26 23:58:52 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2013-03-26 23:58:52 +0000 |
commit | ddb61764abf07ea4580796752d87fda53378ba26 (patch) | |
tree | 5d9b0b8316c46e91ac2471c2f74b7bd086ad5432 | |
parent | 1533833e21ae5b3f5f39b168b3fbac109ee77008 (diff) |
[analyzer] Better test for r178063.
Jordan pointed out that my previously committed test was bogus.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178094 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Analysis/retain-release-inline.m | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/test/Analysis/retain-release-inline.m b/test/Analysis/retain-release-inline.m index c89f58eab3..8809c8c844 100644 --- a/test/Analysis/retain-release-inline.m +++ b/test/Analysis/retain-release-inline.m @@ -364,27 +364,32 @@ CFStringRef testCovariantReturnType() { // Test that we reanalyze ObjC methods which have been inlined. When reanalyzing // them, make sure we inline very small functions. +id returnInputParam(id x) { + return x; +} @interface MyClass : NSObject -- (id)test_return_retained_NS; -- (void)test_return_retained; +- (id)test_reanalyze_as_top_level; +- (void)test_inline_tiny_when_reanalyzing; +- (void)inline_test_reanalyze_as_top_level; @end -id returnInputParam(id x) { - return x; -} @implementation MyClass -- (id)test_return_retained_NS { +- (void)test_inline_tiny_when_reanalyzing { + id x = [[NSString alloc] init]; // no-warning + x = returnInputParam(x); + [x release]; +} + +- (id)test_reanalyze_as_top_level { // This method does not follow naming conventions, so a warning will be // reported when it is reanalyzed at top level. - return returnInputParam([[NSString alloc] init]); // expected-warning {{leak}} + return [[NSString alloc] init]; // expected-warning {{leak}} } -- (void)test_return_retained { - id x = test_return_retained_NS(); // expected-warning {{leak}} - [x retain]; +- (void)inline_test_reanalyze_as_top_level { + id x = [self test_reanalyze_as_top_level]; [x release]; + [self test_inline_tiny_when_reanalyzing]; } - @end - |