]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR go/64198
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Dec 2014 18:05:30 +0000 (18:05 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Dec 2014 18:05:30 +0000 (18:05 +0000)
compiler: Don't crash on invalid ++.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218485 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/go/gofrontend/parse.cc

index 57310250c79d88c28e38dd583d59b400d7bfad09..8e3aa3ba0fb6a59e28197346889d422a49e7bc93 100644 (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());