diff options
| author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2026-04-08 19:47:28 +0700 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-04-08 08:32:31 -0700 |
| commit | 352d76b2912b20ede8b3238fc2ed7b697bc2695b (patch) | |
| tree | 3187d90b4010f2a7d707a62a79d9398a074e391e | |
| parent | f2e70034cc852daec07bebd3f36aaf90aac28173 (diff) | |
| download | go-352d76b2912b20ede8b3238fc2ed7b697bc2695b.tar.xz | |
cmd/compile: remove unused inNonInitFunction context
CL 737821 removed the last functional use of inNonInitFunction.
This field and its associated logic are now dead code and can
be safely deleted.
Change-Id: I4023ec7ef5d10c94ef54b9726f18cda863ee2ff4
Reviewed-on: https://go-review.googlesource.com/c/go/+/764020
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: David Chase <drchase@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>
| -rw-r--r-- | src/cmd/compile/internal/walk/complit.go | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/src/cmd/compile/internal/walk/complit.go b/src/cmd/compile/internal/walk/complit.go index e0ffca86ce..1d66ecde82 100644 --- a/src/cmd/compile/internal/walk/complit.go +++ b/src/cmd/compile/internal/walk/complit.go @@ -246,19 +246,8 @@ func fixedlit(ctxt initContext, kind initKind, n *ir.CompLitExpr, var_ ir.Node, switch value.Op() { case ir.OSLICELIT: value := value.(*ir.CompLitExpr) - if (kind == initKindStatic && ctxt == inNonInitFunction) || (kind == initKindDynamic && ctxt == inInitFunction) { - var sinit ir.Nodes - slicelit(ctxt, value, a, &sinit) - if kind == initKindStatic { - // When doing static initialization, init statements may contain dynamic - // expression, which will be initialized later, causing liveness analysis - // confuses about variables lifetime. So making sure those expressions - // are ordered correctly here. See issue #52673. - orderBlock(&sinit, map[string][]*ir.Name{}) - typecheck.Stmts(sinit) - walkStmtList(sinit) - } - init.Append(sinit...) + if kind == initKindDynamic && ctxt == inInitFunction { + slicelit(ctxt, value, a, init) continue } @@ -302,23 +291,6 @@ func slicelit(ctxt initContext, n *ir.CompLitExpr, var_ ir.Node, init *ir.Nodes) t := types.NewArray(n.Type().Elem(), n.Len) types.CalcSize(t) - if ctxt == inNonInitFunction { - // put everything into static array - vstat := staticinit.StaticName(t) - - fixedlit(ctxt, initKindStatic, n, vstat, init) - fixedlit(ctxt, initKindDynamic, n, vstat, init) - - // copy static to slice - var_ = typecheck.AssignExpr(var_) - name, offset, ok := staticinit.StaticLoc(var_) - if !ok || name.Class != ir.PEXTERN { - base.Fatalf("slicelit: %v", var_) - } - staticdata.InitSlice(name, offset, vstat.Linksym(), t.NumElem()) - return - } - // recipe for var = []t{...} // 1. make a static array // var vstat [...]t |
