This patch is about merging ObjC2's properties declared in class
protocols into class's property list and performing semantics
on them for while doing so.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50587 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 1bed03c..68a834c 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -662,9 +662,15 @@
   
   void DiagnosePropertyMismatch(ObjCPropertyDecl *Property, 
                                 ObjCPropertyDecl *SuperProperty,
-                                ObjCInterfaceDecl*SuperIDecl);
+                                const char *Name);
   void ComparePropertiesInBaseAndSuper(ObjCInterfaceDecl *IDecl);
   
+  void MergeProtocolPropertiesIntoClass(ObjCInterfaceDecl *IDecl,
+                                        DeclTy *MergeProtocols);
+  
+  void MergeOneProtocolPropertiesIntoClass(ObjCInterfaceDecl *IDecl,
+                                           ObjCProtocolDecl *PDecl);
+  
   virtual void ActOnAtEnd(SourceLocation AtEndLoc, DeclTy *classDecl,
                       DeclTy **allMethods = 0, unsigned allNum = 0,
                       DeclTy **allProperties = 0, unsigned pNum = 0);