PR 61746 and gofrontend issue 35 point out a bug in C-style comment
parsing in the Go frontend.  The sequence /*/ was interpreted as a
complete C-style comment.  This patch fixes the bug.  Bootstrapped and
ran Go testsuite on x86_64-unknown-linux-gnu.  Committed to mainline and
4.9 branch.

Ian

diff -r 5d0434c2007e go/lex.cc
--- a/go/lex.cc	Wed Jul 02 07:22:05 2014 -0700
+++ b/go/lex.cc	Tue Jul 08 13:41:25 2014 -0700
@@ -598,7 +598,7 @@
 		}
 	      else if (p[1] == '*')
 		{
-		  this->lineoff_ = p - this->linebuf_;
+		  this->lineoff_ = p + 2 - this->linebuf_;
 		  Location location = this->location();
 		  if (!this->skip_c_comment())
 		    return Token::make_invalid_token(location);

Reply via email to