Compiler projects using llvm
#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))

@class NSString;

@interface B1
-(instancetype)init;
@end

@interface S1 : B1
@property (nonatomic) int prop;
+(instancetype)s1;
-(instancetype)initWithFoo:(NSString*)foo NS_DESIGNATED_INITIALIZER;
@end