cmd/compile/internal/gc: correctly use internal call to error reporting
Fixes #13266.
Change-Id: I31da922e0599989e52acf346374c2077b157ebb7
Reviewed-on: https://go-review.googlesource.com/16971
Reviewed-by: Chris Manghane <cmang@golang.org>
diff --git a/src/cmd/compile/internal/gc/parser.go b/src/cmd/compile/internal/gc/parser.go
index c8a6826..d2b382f 100644
--- a/src/cmd/compile/internal/gc/parser.go
+++ b/src/cmd/compile/internal/gc/parser.go
@@ -116,7 +116,7 @@
msg = ", " + msg
default:
// plain error - we don't care about current token
- Yyerror("syntax error: " + msg)
+ Yyerror("syntax error: %s", msg)
return
}
@@ -138,7 +138,7 @@
tok = tokstring(p.tok)
}
- Yyerror("syntax error: unexpected " + tok + msg)
+ Yyerror("syntax error: unexpected %s", tok + msg)
}
// Advance consumes tokens until it finds a token of the stoplist.
@@ -1669,7 +1669,7 @@
return nil
default:
- p.syntax_error("")
+ p.syntax_error("expecting name")
p.advance()
return new(Sym)
}
diff --git a/test/fixedbugs/issue13266.go b/test/fixedbugs/issue13266.go
new file mode 100644
index 0000000..3c4f74b
--- /dev/null
+++ b/test/fixedbugs/issue13266.go
@@ -0,0 +1,10 @@
+// errorcheck
+
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Offending character % must not be interpreted as
+// start of format verb when emitting error message.
+
+package% // ERROR "unexpected %"