summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclObjC.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-12-03 21:11:54 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2013-12-03 21:11:54 +0000
commitdb5ce0f71ec99f0e60b99b6353b2e925af6c881b (patch)
tree345eb6ea6d7e265092b9a07285a53a3aa5fa744a /clang/lib/Sema/SemaDeclObjC.cpp
parentb66d3cf5cf8400d9c99d5dd237ab6908377bbbfa (diff)
downloadbcm5719-llvm-db5ce0f71ec99f0e60b99b6353b2e925af6c881b.tar.gz
bcm5719-llvm-db5ce0f71ec99f0e60b99b6353b2e925af6c881b.zip
[objc] Add a warning when a class that provides a designated initializer, does not
override all of the designated initializers of its superclass. llvm-svn: 196319
Diffstat (limited to 'clang/lib/Sema/SemaDeclObjC.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclObjC.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp
index a41bd22cdf1..6020473e979 100644
--- a/clang/lib/Sema/SemaDeclObjC.cpp
+++ b/clang/lib/Sema/SemaDeclObjC.cpp
@@ -2674,7 +2674,9 @@ Decl *Sema::ActOnAtEnd(Scope *S, SourceRange AtEnd, ArrayRef<Decl *> allMethods,
ImplMethodsVsClassMethods(S, IC, IDecl);
AtomicPropertySetterGetterRules(IC, IDecl);
DiagnoseOwningPropertyGetterSynthesis(IC);
-
+ if (IDecl->hasDesignatedInitializers())
+ DiagnoseMissingDesignatedInitOverrides(IC, IDecl);
+
bool HasRootClassAttr = IDecl->hasAttr<ObjCRootClassAttr>();
if (IDecl->getSuperClass() == NULL) {
// This class has no superclass, so check that it has been marked with
OpenPOWER on IntegriCloud