assert if attempting to code gen. a property setter/getter
coming from a protocol.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62017 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp
index fffd011..3907c0c 100644
--- a/lib/CodeGen/CGObjC.cpp
+++ b/lib/CodeGen/CGObjC.cpp
@@ -143,6 +143,8 @@
   const ObjCPropertyDecl *PD = PID->getPropertyDecl();
   ObjCMethodDecl *OMD = PD->getGetterMethodDecl();
   assert(OMD && "Invalid call to generate getter (empty method)");
+  assert (!dyn_cast<ObjCProtocolDecl>(OMD->getDeclContext()) && 
+          "GenerateObjCMethod - cannot synthesize protocol getter");
   // FIXME: This is rather murky, we create this here since they will
   // not have been created by Sema for us.
   OMD->createImplicitParams(getContext(), IMP->getClassInterface());
@@ -213,6 +215,8 @@
   const ObjCPropertyDecl *PD = PID->getPropertyDecl();
   ObjCMethodDecl *OMD = PD->getSetterMethodDecl();
   assert(OMD && "Invalid call to generate setter (empty method)");
+  assert (!dyn_cast<ObjCProtocolDecl>(OMD->getDeclContext()) && 
+          "GenerateObjCSetter - cannot synthesize protocol setter");
   // FIXME: This is rather murky, we create this here since they will
   // not have been created by Sema for us.  
   OMD->createImplicitParams(getContext(), IMP->getClassInterface());