diff options
| author | wdvxdr <wdvxdr1123@gmail.com> | 2021-09-14 13:37:21 +0800 |
|---|---|---|
| committer | Matthew Dempsky <mdempsky@google.com> | 2021-09-16 21:10:17 +0000 |
| commit | d09e09bc615a50e9f2f1144991ebeba08a7c6f05 (patch) | |
| tree | dfac6c824cf36349a570708b2dd909e4431da1b2 /src/cmd/compile/internal/noder/expr.go | |
| parent | bcdc61d830be61fd5f371f4eb9c345f8dc9ada55 (diff) | |
| download | go-d09e09bc615a50e9f2f1144991ebeba08a7c6f05.tar.xz | |
cmd/compile: fixing writebarrier.go for -G=3
This is caused by some nodes didn't carry the real line number.
Noder1 wraps these node with ir.ParenExpr. To fix this issue,
wraps this node like what noder1 does.
Change-Id: I212cad09b93b8bf1a7adfad416d229d15711918a
Reviewed-on: https://go-review.googlesource.com/c/go/+/349769
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/noder/expr.go')
| -rw-r--r-- | src/cmd/compile/internal/noder/expr.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/noder/expr.go b/src/cmd/compile/internal/noder/expr.go index 3e1960f7a4..9cd9545b75 100644 --- a/src/cmd/compile/internal/noder/expr.go +++ b/src/cmd/compile/internal/noder/expr.go @@ -390,9 +390,10 @@ func (g *irgen) compLit(typ types2.Type, lit *syntax.CompositeLit) ir.Node { } else { key = g.expr(elem.Key) } - exprs[i] = ir.NewKeyExpr(g.pos(elem), key, g.expr(elem.Value)) + value := wrapname(g.pos(elem.Value), g.expr(elem.Value)) + exprs[i] = ir.NewKeyExpr(g.pos(elem), key, value) default: - exprs[i] = g.expr(elem) + exprs[i] = wrapname(g.pos(elem), g.expr(elem)) } } |
