From 5928cb633d5d5e73c598d5625bf717a57e6b10a3 Mon Sep 17 00:00:00 2001 From: Steve Naroff Date: Fri, 25 Jul 2008 14:30:25 +0000 Subject: [PATCH] Fix Parser::ParseObjCMethodDefinition(). Only call the actions module for valid MDecl's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54013 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Parse/ParseObjc.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index 7d7ba10a38..38379b14e6 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/lib/Parse/ParseObjc.cpp @@ -1292,8 +1292,10 @@ Parser::DeclTy *Parser::ParseObjCMethodDefinition() { EnterScope(Scope::FnScope|Scope::DeclScope); // Tell the actions module that we have entered a method definition with the - // specified Declarator for the method. - Actions.ObjCActOnStartOfMethodDef(CurScope, MDecl); + // specified Declarator for the method. If we don't have an MDecl, avoid + // calling the actions module. + if (MDecl) + Actions.ObjCActOnStartOfMethodDef(CurScope, MDecl); StmtResult FnBody = ParseCompoundStatementBody(); @@ -1305,7 +1307,8 @@ Parser::DeclTy *Parser::ParseObjCMethodDefinition() { ExitScope(); // TODO: Pass argument information. - Actions.ActOnFinishFunctionBody(MDecl, FnBody.Val); + if (MDecl) + Actions.ActOnFinishFunctionBody(MDecl, FnBody.Val); return MDecl; } -- 2.50.1