comparison clang/test/ARCMT/atautorelease.m @ 150:1d019706d866

LLVM10
author anatofuz
date Thu, 13 Feb 2020 15:10:13 +0900
parents
children
comparison
equal deleted inserted replaced
147:c2174574ed3a 150:1d019706d866
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fobjc-arc -x objective-c %s.result
2 // RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c %s > %t
3 // RUN: diff %t %s.result
4
5 #include "Common.h"
6
7 void NSLog(id, ...);
8
9 int main (int argc, const char * argv[]) {
10
11 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
12
13 if (argc) {
14 NSAutoreleasePool * pool = [NSAutoreleasePool new];
15 NSLog(@"%s", "YES");
16 [pool drain];
17 }
18 [pool drain];
19
20 NSAutoreleasePool * pool1 = [[NSAutoreleasePool alloc] init];
21 NSLog(@"%s", "YES");
22 [pool1 release];
23
24 return 0;
25 }
26
27 void f(void) {
28 NSAutoreleasePool *pool1;
29
30 pool1 = [NSAutoreleasePool new];
31 int x = 4;
32
33 NSAutoreleasePool *pool2 = [[NSAutoreleasePool alloc] init];
34 ++x;
35 [pool2 drain];
36
37 [pool1 release];
38 }
39
40 int UIApplicationMain(int argc, char *argv[]);
41
42 int main2(int argc, char *argv[]) {
43 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
44 int result = UIApplicationMain(argc, argv);
45 [pool release];
46 return result;
47 }
48
49 @interface Foo : NSObject
50 @property (assign) id myProp;
51 @end
52
53 @implementation Foo
54 @synthesize myProp;
55
56 -(void)test:(id)p {
57 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
58 [pool drain];
59 self.myProp = p;
60 }
61 @end