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