xref: /minix3/external/bsd/llvm/dist/clang/test/ARCMT/objcmt-designated-initializer.m (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc// RUN: rm -rf %t
2*0a6a1f1dSLionel Sambuc// RUN: %clang_cc1 -objcmt-migrate-designated-init %s -triple x86_64-apple-darwin11 -fobjc-arc -migrate -o %t.remap
3*0a6a1f1dSLionel Sambuc// RUN: c-arcmt-test %t.remap | arcmt-test -verify-transformed-files %s.result
4*0a6a1f1dSLionel Sambuc// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -fsyntax-only -x objective-c -fobjc-arc %s.result
5*0a6a1f1dSLionel Sambuc
6*0a6a1f1dSLionel Sambuc#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
7*0a6a1f1dSLionel Sambuc
8*0a6a1f1dSLionel Sambuc@class NSString;
9*0a6a1f1dSLionel Sambuc
10*0a6a1f1dSLionel Sambuc@interface B1
11*0a6a1f1dSLionel Sambuc-(id)init;
12*0a6a1f1dSLionel Sambuc@end
13*0a6a1f1dSLionel Sambuc
14*0a6a1f1dSLionel Sambuc@interface S1 : B1
15*0a6a1f1dSLionel Sambuc-(id)initWithFoo:(NSString*)foo;
16*0a6a1f1dSLionel Sambuc@end
17*0a6a1f1dSLionel Sambuc
18*0a6a1f1dSLionel Sambuc@implementation S1
19*0a6a1f1dSLionel Sambuc-(id)initWithFoo:(NSString*)foo
20*0a6a1f1dSLionel Sambuc{
21*0a6a1f1dSLionel Sambuc  self = [super init];
22*0a6a1f1dSLionel Sambuc  if (self) {
23*0a6a1f1dSLionel Sambuc  }
24*0a6a1f1dSLionel Sambuc  return self;
25*0a6a1f1dSLionel Sambuc}
26*0a6a1f1dSLionel Sambuc@end
27*0a6a1f1dSLionel Sambuc
28*0a6a1f1dSLionel Sambuc@interface B2
29*0a6a1f1dSLionel Sambuc-(id)init NS_DESIGNATED_INITIALIZER;
30*0a6a1f1dSLionel Sambuc@end
31*0a6a1f1dSLionel Sambuc
32*0a6a1f1dSLionel Sambuc@interface S2 : B2
33*0a6a1f1dSLionel Sambuc-(id)init;
34*0a6a1f1dSLionel Sambuc@end
35*0a6a1f1dSLionel Sambuc
36*0a6a1f1dSLionel Sambuc@implementation S2
37*0a6a1f1dSLionel Sambuc-(id)init
38*0a6a1f1dSLionel Sambuc{
39*0a6a1f1dSLionel Sambuc  self = [super init];
40*0a6a1f1dSLionel Sambuc  if (self) {
41*0a6a1f1dSLionel Sambuc  }
42*0a6a1f1dSLionel Sambuc  return self;
43*0a6a1f1dSLionel Sambuc}
44*0a6a1f1dSLionel Sambuc@end
45