annotate clang/test/ARCMT/retains.m.result @ 180:680fa57a2f20

fix compile errors.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 May 2020 17:44:06 +0900
parents 1d019706d866
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -fblocks -fsyntax-only -fobjc-arc -x objective-c %s.result
anatofuz
parents:
diff changeset
2 // RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fblocks -fsyntax-only -x objective-c %s > %t
anatofuz
parents:
diff changeset
3 // RUN: diff %t %s.result
anatofuz
parents:
diff changeset
4
anatofuz
parents:
diff changeset
5 #include "Common.h"
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 id IhaveSideEffect();
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 @interface Foo : NSObject {
anatofuz
parents:
diff changeset
10 id bar;
anatofuz
parents:
diff changeset
11 }
anatofuz
parents:
diff changeset
12 @property (strong) id bar;
anatofuz
parents:
diff changeset
13 -(id)test:(id)obj;
anatofuz
parents:
diff changeset
14 -(id)something;
anatofuz
parents:
diff changeset
15 @end
anatofuz
parents:
diff changeset
16
anatofuz
parents:
diff changeset
17 #define Something_Macro(key, comment) \
anatofuz
parents:
diff changeset
18 [[Foo new] something]
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20 @implementation Foo
anatofuz
parents:
diff changeset
21
anatofuz
parents:
diff changeset
22 @synthesize bar;
anatofuz
parents:
diff changeset
23
anatofuz
parents:
diff changeset
24 -(id)something {}
anatofuz
parents:
diff changeset
25
anatofuz
parents:
diff changeset
26 -(id)test:(id)obj {
anatofuz
parents:
diff changeset
27 id x = self.bar;
anatofuz
parents:
diff changeset
28 self.bar = obj;
anatofuz
parents:
diff changeset
29
anatofuz
parents:
diff changeset
30 Something_Macro(@"foo", "@bar");
anatofuz
parents:
diff changeset
31
anatofuz
parents:
diff changeset
32 IhaveSideEffect();
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34 [self something];
anatofuz
parents:
diff changeset
35
anatofuz
parents:
diff changeset
36 [self something];
anatofuz
parents:
diff changeset
37
anatofuz
parents:
diff changeset
38 IhaveSideEffect();
anatofuz
parents:
diff changeset
39 // do stuff with x;
anatofuz
parents:
diff changeset
40 return self;
anatofuz
parents:
diff changeset
41 }
anatofuz
parents:
diff changeset
42
anatofuz
parents:
diff changeset
43 - (id)test1 {
anatofuz
parents:
diff changeset
44 id x=0;
anatofuz
parents:
diff changeset
45 return (((x)));
anatofuz
parents:
diff changeset
46 }
anatofuz
parents:
diff changeset
47 @end
anatofuz
parents:
diff changeset
48
anatofuz
parents:
diff changeset
49 id foo (Foo *p) {
anatofuz
parents:
diff changeset
50 p = p;
anatofuz
parents:
diff changeset
51 return (p);
anatofuz
parents:
diff changeset
52 }
anatofuz
parents:
diff changeset
53
anatofuz
parents:
diff changeset
54 void block_tests(Foo *p) {
anatofuz
parents:
diff changeset
55 id (^B)() = ^() {
anatofuz
parents:
diff changeset
56 if (p) {
anatofuz
parents:
diff changeset
57 id (^IB)() = ^() {
anatofuz
parents:
diff changeset
58 id bar = p;
anatofuz
parents:
diff changeset
59 return bar;
anatofuz
parents:
diff changeset
60 };
anatofuz
parents:
diff changeset
61 IB();
anatofuz
parents:
diff changeset
62 }
anatofuz
parents:
diff changeset
63 return p;
anatofuz
parents:
diff changeset
64 };
anatofuz
parents:
diff changeset
65 }