Skip to content

Commit 5b071bf

Browse files
fraenkelmdempsky
authored andcommitted
cmd/compile: convert type during finishcompare
When recursively calling walkexpr, r.Type is still the untyped value. It then sometimes recursively calls finishcompare, which complains that you can't compare the resulting expression to that untyped value. Updates #23834. Change-Id: I6b7acd3970ceaff8da9216bfa0ae24aca5dee828 Reviewed-on: https://go-review.googlesource.com/97856 Reviewed-by: Matthew Dempsky <[email protected]>
1 parent 9b95611 commit 5b071bf

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

src/cmd/compile/internal/gc/walk.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3455,12 +3455,8 @@ func walkcompare(n *Node, init *Nodes) *Node {
34553455
// n.Left = finishcompare(n.Left, x, r, init)
34563456
func finishcompare(n, r *Node, init *Nodes) *Node {
34573457
r = typecheck(r, Erv)
3458+
r = conv(r, n.Type)
34583459
r = walkexpr(r, init)
3459-
if r.Type != n.Type {
3460-
r = nod(OCONVNOP, r, nil)
3461-
r.Type = n.Type
3462-
r = typecheck(r, Erv)
3463-
}
34643460
return r
34653461
}
34663462

0 commit comments

Comments
 (0)