llvm-project

Форк
0
/
retains.m.result 
65 строк · 993.0 Байт
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(void);
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)(void) = ^(void) {
56
    if (p) {
57
      id (^IB)(void) = ^(void) {
58
        id bar = p;
59
        return bar;
60
      };
61
      IB();
62
    }
63
    return p;
64
  };
65
}
66

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.