On Jul 25, 2008, at 7:30 AM, Steve Naroff wrote: > Author: snaroff > Date: Fri Jul 25 09:30:25 2008 > New Revision: 54013 > > URL: http://llvm.org/viewvc/llvm-project?rev=54013&view=rev > Log: > Fix Parser::ParseObjCMethodDefinition(). Only call the actions > module for valid MDecl's.
Steve, I don't think this is the right fix. An actions implementation is currently allowed to return null pointers for the opaque decl object. What are you fixing here? -Chris > > > Modified: > cfe/trunk/lib/Parse/ParseObjc.cpp > > Modified: cfe/trunk/lib/Parse/ParseObjc.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseObjc.cpp?rev=54013&r1=54012&r2=54013&view=diff > > = > = > = > = > = > = > = > = > ====================================================================== > --- cfe/trunk/lib/Parse/ParseObjc.cpp (original) > +++ cfe/trunk/lib/Parse/ParseObjc.cpp Fri Jul 25 09:30:25 2008 > @@ -1292,8 +1292,10 @@ > 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 @@ > ExitScope(); > > // TODO: Pass argument information. > - Actions.ActOnFinishFunctionBody(MDecl, FnBody.Val); > + if (MDecl) > + Actions.ActOnFinishFunctionBody(MDecl, FnBody.Val); > return MDecl; > } > > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
