diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/SemaObjC/attr-designated-init.m | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/clang/test/SemaObjC/attr-designated-init.m b/clang/test/SemaObjC/attr-designated-init.m index 3eea849403a..3dbc2cab12d 100644 --- a/clang/test/SemaObjC/attr-designated-init.m +++ b/clang/test/SemaObjC/attr-designated-init.m @@ -354,7 +354,7 @@ __attribute__((objc_root_class)) __attribute__((objc_root_class)) @interface NSObject --(instancetype) init NS_DESIGNATED_INITIALIZER; +-(instancetype) init NS_DESIGNATED_INITIALIZER; // expected-note {{method marked as designated initializer of the class here}} @end @interface Test3 : NSObject @@ -368,3 +368,23 @@ __attribute__((objc_root_class)) return [self initWithBasePath:0]; } @end + +@interface Test1 : NSObject +-(instancetype) init NS_DESIGNATED_INITIALIZER; +@end +@implementation Test1 +-(instancetype) init { + return self; +} +@end + + +@interface Test2 : NSObject +@end +@interface SubTest2 : Test2 +@end +@implementation SubTest2 +-(instancetype) init { // expected-warning {{designated initializer missing a 'super' call to a designated initializer of the super class}} + return self; +} +@end |