diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-12-03 21:11:54 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-12-03 21:11:54 +0000 |
commit | db5ce0f71ec99f0e60b99b6353b2e925af6c881b (patch) | |
tree | 345eb6ea6d7e265092b9a07285a53a3aa5fa744a /clang/lib/Sema/SemaDeclObjC.cpp | |
parent | b66d3cf5cf8400d9c99d5dd237ab6908377bbbfa (diff) | |
download | bcm5719-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.cpp | 4 |
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 |