summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjC
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@apple.com>2019-03-01 06:43:20 +0000
committerAkira Hatanaka <ahatanaka@apple.com>2019-03-01 06:43:20 +0000
commit78be8b6d53221eef49603ed64dd0670ff5a65727 (patch)
treeb54be737a801b009ee6cf91e2cceb6d14518c779 /clang/test/SemaObjC
parentf4b25f700a4c555711a746befe7ca3a6e93e621d (diff)
downloadbcm5719-llvm-78be8b6d53221eef49603ed64dd0670ff5a65727.tar.gz
bcm5719-llvm-78be8b6d53221eef49603ed64dd0670ff5a65727.zip
[Sema][ObjC] Allow silencing -Wobjc-designated-initializers warnings by
declaring an unavailable method in the subclass's extension that overrides the designated initializer in the base class. r243676 made changes to allow declaring the unavailable method in the subclass interface to silence the warning. This commit additionally allows declaring the unavailable method in the class extension. rdar://problem/42731306 llvm-svn: 355175
Diffstat (limited to 'clang/test/SemaObjC')
-rw-r--r--clang/test/SemaObjC/attr-designated-init.m13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/attr-designated-init.m b/clang/test/SemaObjC/attr-designated-init.m
index 3558916dbe5..7d1e7008e8e 100644
--- a/clang/test/SemaObjC/attr-designated-init.m
+++ b/clang/test/SemaObjC/attr-designated-init.m
@@ -389,6 +389,19 @@ __attribute__((objc_root_class))
}
@end
+@interface SubTest1Ext : Test1
+-(instancetype)initWithRequiredParameter:(id)foo NS_DESIGNATED_INITIALIZER;
+@end
+// Mark 'init' as unavailable in the extension to silence warning.
+@interface SubTest1Ext()
+-(instancetype)init NS_UNAVAILABLE;
+@end
+@implementation SubTest1Ext
+-(instancetype)initWithRequiredParameter:(id)foo {
+ return [super init];
+}
+@end
+
@interface Test2 : NSObject
@end
@interface SubTest2 : Test2
OpenPOWER on IntegriCloud