More ObjC2 property semantics work. Work in progress.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50508 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 37b9805..8b85351 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -61,6 +61,7 @@
   class ObjCCategoryDecl;
   class ObjCIvarDecl;
   class ObjCMethodDecl;
+  class ObjCPropertyDecl;
 
 /// Sema - This implements semantic analysis and AST building for C.
 class Sema : public Action {
@@ -658,9 +659,11 @@
                                        unsigned NumProtocols,
                                        llvm::SmallVector<DeclTy *, 8> & 
                                        Protocols);
-
-  virtual void ComparePropertiesInBaseAndSuper(SourceLocation *PropertyLoc,
-                                               DeclTy *ClassInterface);
+  
+  void DiagnosePropertyMismatch(ObjCPropertyDecl *Property, 
+                                ObjCPropertyDecl *SuperProperty,
+                                ObjCInterfaceDecl*SuperIDecl);
+  void ComparePropertiesInBaseAndSuper(ObjCInterfaceDecl *IDecl);
   
   virtual void ActOnAtEnd(SourceLocation AtEndLoc, DeclTy *classDecl,
                       DeclTy **allMethods = 0, unsigned allNum = 0,