diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/CodeGen/CGObjC.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp index fffd011fd6b..3907c0c2c08 100644 --- a/clang/lib/CodeGen/CGObjC.cpp +++ b/clang/lib/CodeGen/CGObjC.cpp @@ -143,6 +143,8 @@ void CodeGenFunction::GenerateObjCGetter(ObjCImplementationDecl *IMP, 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 @@ void CodeGenFunction::GenerateObjCSetter(ObjCImplementationDecl *IMP, 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()); |