re PR go/64198 (ICE in gofrontend)

PR go/64198
compiler: Don't crash on invalid ++.

From-SVN: r218485
This commit is contained in:
Ian Lance Taylor 2014-12-08 18:05:30 +00:00
parent 58a3bd25ba
commit 942f7f5af3

View File

@ -3190,9 +3190,12 @@ Parse::call(Expression* func)
if (token->is_op(OPERATOR_COMMA))
token = this->advance_token();
if (!token->is_op(OPERATOR_RPAREN))
error_at(this->location(), "missing %<)%>");
else
this->advance_token();
{
error_at(this->location(), "missing %<)%>");
if (!this->skip_past_error(OPERATOR_RPAREN))
return Expression::make_error(this->location());
}
this->advance_token();
if (func->is_error_expression())
return func;
return Expression::make_call(func, args, is_varargs, func->location());