aboutsummaryrefslogtreecommitdiff
path: root/test/ARCMT/init.m.result
blob: d550dedb1dc19145082483d3b824030a197915dc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fobjc-arc -x objective-c %s.result
// RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c %s > %t
// RUN: diff %t %s.result

#define nil (void *)0

@interface NSObject
-init;
@end

@interface A : NSObject
-init;
-init2;
-foo;
+alloc;
@end

@implementation A
-(id) init {
  if (!(self = [self init])) return nil;
  id a;
  [a init];
  a = [[A alloc] init];

  return self;
}

-(id) init2 {
  if (!(self = [super init])) return nil;
  return self;
}

-(id) foo {
  [self init];
  [super init];

  return self;
}
@end