[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
diff --git a/test/Analysis/retain-release-inline.m b/test/Analysis/retain-release-inline.m
index c89f58e..8809c8c 100644
--- a/test/Analysis/retain-release-inline.m
+++ b/test/Analysis/retain-release-inline.m
@@ -364,27 +364,32 @@
// Test that we reanalyze ObjC methods which have been inlined. When reanalyzing
// them, make sure we inline very small functions.
-
-@interface MyClass : NSObject
-- (id)test_return_retained_NS;
-- (void)test_return_retained;
-@end
-
id returnInputParam(id x) {
return x;
}
-@implementation MyClass
-- (id)test_return_retained_NS {
- // 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}}
-}
-- (void)test_return_retained {
- id x = test_return_retained_NS(); // expected-warning {{leak}}
- [x retain];
+@interface MyClass : NSObject
+- (id)test_reanalyze_as_top_level;
+- (void)test_inline_tiny_when_reanalyzing;
+- (void)inline_test_reanalyze_as_top_level;
+@end
+
+@implementation MyClass
+- (void)test_inline_tiny_when_reanalyzing {
+ id x = [[NSString alloc] init]; // no-warning
+ x = returnInputParam(x);
[x release];
}
-@end
+- (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 [[NSString alloc] init]; // expected-warning {{leak}}
+}
+- (void)inline_test_reanalyze_as_top_level {
+ id x = [self test_reanalyze_as_top_level];
+ [x release];
+ [self test_inline_tiny_when_reanalyzing];
+}
+@end