cmd/compile: avoid duplicate cast error

If an error was already printed during LHS conversion step, we don't reprint
the "cannot convert" error.

In particular, this prevents `_ = int("1")` (and all similar casts) from
resulting in multiple identical error messages being printed.

Fixes #20812.

Change-Id: If6e52c59eab438599d641ecf6f110ebafca740a9
Reviewed-on: https://go-review.googlesource.com/46912
Reviewed-by: Robert Griesemer <gri@golang.org>
This commit is contained in:
Kashav Madan 2017-06-27 19:29:59 -04:00 committed by Robert Griesemer
parent 63c4284346
commit d05a1238d6
4 changed files with 19 additions and 4 deletions

View file

@ -408,7 +408,7 @@ func convlit1(n *Node, t *types.Type, explicit bool, reuse canReuseNode) *Node {
bad:
if !n.Diag() {
if !t.Broke() {
yyerror("cannot convert %v to type %v", n, t)
yyerror("cannot convert %L to type %v", n, t)
}
n.SetDiag(true)
}