aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/typecheck/typecheck.go
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2021-03-04 15:06:38 +0700
committerCuong Manh Le <cuong.manhle.vn@gmail.com>2021-03-05 18:47:09 +0000
commitc082f9fee0e08ac5ea6498ade1153fb6e68f7c72 (patch)
tree118931a864868d23d80a155641604fda734ea5c8 /src/cmd/compile/internal/typecheck/typecheck.go
parentfbee173545da4ecbdd80a59edcb93e6c4605241f (diff)
downloadgo-c082f9fee0e08ac5ea6498ade1153fb6e68f7c72.tar.gz
go-c082f9fee0e08ac5ea6498ade1153fb6e68f7c72.zip
cmd/compile: do not set ONAME type when evaluated in type context
Updates #43311 Change-Id: I26e397d071b434256dab0cc7fff9d134b80bd6e3 Reviewed-on: https://go-review.googlesource.com/c/go/+/298711 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/typecheck/typecheck.go')
-rw-r--r--src/cmd/compile/internal/typecheck/typecheck.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/typecheck/typecheck.go b/src/cmd/compile/internal/typecheck/typecheck.go
index 548c1af85c..30632ac18b 100644
--- a/src/cmd/compile/internal/typecheck/typecheck.go
+++ b/src/cmd/compile/internal/typecheck/typecheck.go
@@ -446,7 +446,11 @@ func typecheck(n ir.Node, top int) (res ir.Node) {
case top&(ctxType|ctxExpr) == ctxType && n.Op() != ir.OTYPE && n.Op() != ir.ONONAME && (t != nil || n.Op() == ir.ONAME):
base.Errorf("%v is not a type", n)
if t != nil {
- n.SetType(nil)
+ if n.Op() == ir.ONAME {
+ t.SetBroke(true)
+ } else {
+ n.SetType(nil)
+ }
}
}