From 29dec576e62fe3e108474fd7a155ecd4ee49c8ff Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Mon, 9 Mar 2015 20:39:51 +0000 Subject: [PATCH Sema Objective-C]. Patch to warn on missing designated initializer override where at least a declaration of a designated initializer is in a super class and not necessarily in the current class. rdar://19653785. llvm-svn: 231700 --- clang/lib/Sema/SemaDeclObjC.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'clang/lib/Sema/SemaDeclObjC.cpp') diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index 33d9e95f27f..d958db582af 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -2715,8 +2715,9 @@ Decl *Sema::ActOnAtEnd(Scope *S, SourceRange AtEnd, ArrayRef allMethods, AtomicPropertySetterGetterRules(IC, IDecl); DiagnoseOwningPropertyGetterSynthesis(IC); DiagnoseUnusedBackingIvarInAccessor(S, IC); - if (IDecl->hasDesignatedInitializers()) - DiagnoseMissingDesignatedInitOverrides(IC, IDecl); + if (IDecl->hasDesignatedInitializers() || + IDecl->hasDesignatedInitializersInSuperClass()) + DiagnoseMissingDesignatedInitOverrides(IC); bool HasRootClassAttr = IDecl->hasAttr(); if (IDecl->getSuperClass() == nullptr) { -- cgit v1.2.3