diff options
author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2021-03-04 22:24:58 +0700 |
---|---|---|
committer | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2021-03-05 18:46:43 +0000 |
commit | 9e6b1fcd0a42db0f4699ff17e3b248e563f7eee4 (patch) | |
tree | 79c1f2de4ccded588da012a27dc5b7697f60d3b8 /src/cmd/compile/internal/noder/noder.go | |
parent | 51d8d351c1bb2cac74e1bbf8545245cdbc8914c3 (diff) | |
download | go-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.go | 2 |
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) |