From db5ce0f71ec99f0e60b99b6353b2e925af6c881b Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Tue, 3 Dec 2013 21:11:54 +0000 Subject: [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 --- clang/lib/Sema/SemaDeclObjC.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'clang/lib/Sema/SemaDeclObjC.cpp') 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 allMethods, ImplMethodsVsClassMethods(S, IC, IDecl); AtomicPropertySetterGetterRules(IC, IDecl); DiagnoseOwningPropertyGetterSynthesis(IC); - + if (IDecl->hasDesignatedInitializers()) + DiagnoseMissingDesignatedInitOverrides(IC, IDecl); + bool HasRootClassAttr = IDecl->hasAttr(); if (IDecl->getSuperClass() == NULL) { // This class has no superclass, so check that it has been marked with -- cgit v1.2.3