cmd/compile/internal/gc: parse command-line flags earlier

This CL moves the call to base.ParseFlags() earlier in compiler
startup. This is necessary so CL 393715 can use base.Ctxt.Pkgpath to
construct types.LocalPkg.

Updates #51734.

Change-Id: I9f5f75dc9d5fd1b1d22e98523efc95e6cec64385
Reviewed-on: https://go-review.googlesource.com/c/go/+/406055
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Matthew Dempsky 2022-05-12 14:06:31 -07:00
parent e97ceb2782
commit b6c5a5baa7

View file

@ -70,6 +70,9 @@ func Main(archInit func(*ssagen.ArchInfo)) {
// See bugs 31188 and 21945 (CLs 170638, 98075, 72371).
base.Ctxt.UseBASEntries = base.Ctxt.Headtype != objabi.Hdarwin
base.DebugSSA = ssa.PhaseOption
base.ParseFlags()
types.LocalPkg = types.NewPkg("", "")
types.LocalPkg.Prefix = "\"\""
@ -100,9 +103,6 @@ func Main(archInit func(*ssagen.ArchInfo)) {
// pseudo-package used for methods with anonymous receivers
ir.Pkgs.Go = types.NewPkg("go", "")
base.DebugSSA = ssa.PhaseOption
base.ParseFlags()
// Record flags that affect the build result. (And don't
// record flags that don't, since that would cause spurious
// changes in the binary.)