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