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

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