aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/noder.go
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2021-03-04 22:24:58 +0700
committerCuong Manh Le <cuong.manhle.vn@gmail.com>2021-03-05 18:46:43 +0000
commit9e6b1fcd0a42db0f4699ff17e3b248e563f7eee4 (patch)
tree79c1f2de4ccded588da012a27dc5b7697f60d3b8 /src/cmd/compile/internal/noder/noder.go
parent51d8d351c1bb2cac74e1bbf8545245cdbc8914c3 (diff)
downloadgo-9e6b1fcd0a42db0f4699ff17e3b248e563f7eee4.tar.gz
go-9e6b1fcd0a42db0f4699ff17e3b248e563f7eee4.zip
cmd/compile: do not report error for invalid constant
Invalid constant was already reported by noder, so don't re-check in typecheck, which lead to compiler crashing. Updates #43311 Change-Id: I48e2f540601cef725c1ff628c066ed15d848e771 Reviewed-on: https://go-review.googlesource.com/c/go/+/298713 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/noder.go')
-rw-r--r--src/cmd/compile/internal/noder/noder.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/noder/noder.go b/src/cmd/compile/internal/noder/noder.go
index 8c456e4561..4c7c9fc322 100644
--- a/src/cmd/compile/internal/noder/noder.go
+++ b/src/cmd/compile/internal/noder/noder.go
@@ -689,7 +689,7 @@ func (p *noder) expr(expr syntax.Expr) ir.Node {
if expr.Kind == syntax.RuneLit {
n.SetType(types.UntypedRune)
}
- n.SetDiag(expr.Bad) // avoid follow-on errors if there was a syntax error
+ n.SetDiag(expr.Bad || n.Val().Kind() == constant.Unknown) // avoid follow-on errors if there was a syntax error
return n
case *syntax.CompositeLit:
n := ir.NewCompLitExpr(p.pos(expr), ir.OCOMPLIT, p.typeExpr(expr.Type), nil)