This patch inserts ivars declared in @implementation in its object and verifies 
that they conform(in type, name and numbers) to those declared in @interface. 
Test case highlights kind of checking we do here.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42360 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/Sema.h b/Sema/Sema.h
index 0891c66..bb83b0e 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -386,6 +386,10 @@
 
   virtual void ObjcAddMethodsToClass(DeclTy *ClassDecl, 
 				     DeclTy **allMethods, unsigned allNum);
+  
+  virtual void ActOnImpleIvarVsClassIvars(DeclTy *ClassDecl,
+                                          DeclTy **Fields, unsigned NumFields);
+  
   virtual DeclTy *ObjcBuildMethodDeclaration(SourceLocation MethodLoc, 
 	            tok::TokenKind MethodType, TypeTy *ReturnType,
      		    ObjcKeywordDecl *Keywords, unsigned NumKeywords,