Skip to content

Commit f68d1df

Browse files
committed
cmd/compile: fix interaction between GOEXPERIMENT=fieldtrack and race detector
Tested by hand. Only lines of code changing are protected by Fieldtrack_enabled > 0, which is never true in standard Go distributions. Fixes #12171. Change-Id: I963b9997dac10829db8ad4bfc97a7d6bf14b55c6 Reviewed-on: https://go-review.googlesource.com/13676 Reviewed-by: Ian Lance Taylor <[email protected]>
1 parent 9e26cde commit f68d1df

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -2532,7 +2532,7 @@ func lookdot(n *Node, t *Type, dostrcmp int) *Type {
25322532
n.Xoffset = f1.Width
25332533
n.Type = f1.Type
25342534
if obj.Fieldtrack_enabled > 0 {
2535-
dotField[typeSym{t, s}] = f1
2535+
dotField[typeSym{t.Orig, s}] = f1
25362536
}
25372537
if t.Etype == TINTER {
25382538
if Isptr[n.Left.Type.Etype] {

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -3873,7 +3873,7 @@ func usefield(n *Node) {
38733873
if Isptr[t.Etype] {
38743874
t = t.Type
38753875
}
3876-
field := dotField[typeSym{t, n.Right.Sym}]
3876+
field := dotField[typeSym{t.Orig, n.Right.Sym}]
38773877
if field == nil {
38783878
Fatal("usefield %v %v without paramfld", n.Left.Type, n.Right.Sym)
38793879
}

0 commit comments

Comments
 (0)