summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2014-04-16 18:32:51 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2014-04-16 18:32:51 +0000
commitde10366c063ab5a8a191b2173558e20f66f3e4f7 (patch)
treebf86cdb4910769e0727a1c7e8f248933a8b95d2f /clang/test
parent441f626bd9bf76dfbed382a05fb702d94a45391a (diff)
downloadbcm5719-llvm-de10366c063ab5a8a191b2173558e20f66f3e4f7.tar.gz
bcm5719-llvm-de10366c063ab5a8a191b2173558e20f66f3e4f7.zip
[objc] -[NSObject init] is documented to not do anything, don't warn if subclasses do not call [super init] on their initializers.
Part of rdar://16568441 llvm-svn: 206410
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaObjC/attr-designated-init.m22
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
OpenPOWER on IntegriCloud