From 9e8ea567c838574a0f14538c0bbbd83c3215aa55 Mon Sep 17 00:00:00 2001 From: Tim King Date: Mon, 26 Aug 2024 15:49:09 -0700 Subject: cmd/compile/internal/noder: write V2 bitstream aliastypeparams=1 Enables V2 unified IR bitstreams when GOEXPERIMENT aliastypeparams are enabled. Allows pkgbits.NewPkgEncoder to set the output version. Reenables support for writing V0 streams. Updates #68778 Updates #68526 Change-Id: I590c494d81ab7db148232ceaba52229068d1e986 Reviewed-on: https://go-review.googlesource.com/c/go/+/608595 Reviewed-by: David Chase LUCI-TryBot-Result: Go LUCI Reviewed-by: Cuong Manh Le --- src/internal/pkgbits/decoder.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/internal/pkgbits/decoder.go') diff --git a/src/internal/pkgbits/decoder.go b/src/internal/pkgbits/decoder.go index ca66446dba..09f26a84bd 100644 --- a/src/internal/pkgbits/decoder.go +++ b/src/internal/pkgbits/decoder.go @@ -82,8 +82,8 @@ func NewPkgDecoder(pkgPath, input string) PkgDecoder { assert(binary.Read(r, binary.LittleEndian, &ver) == nil) pr.version = Version(ver) - if pr.version >= V2 { // TODO(taking): Switch to numVersions. - panic(fmt.Errorf("cannot decode %q, export data version %d is too new", pkgPath, pr.version)) + if pr.version >= numVersions { + panic(fmt.Errorf("cannot decode %q, export data version %d is greater than maximum supported version %d", pkgPath, pr.version, numVersions-1)) } if pr.version.Has(Flags) { @@ -101,7 +101,9 @@ func NewPkgDecoder(pkgPath, input string) PkgDecoder { assert(err == nil) pr.elemData = input[pos:] - assert(len(pr.elemData)-8 == int(pr.elemEnds[len(pr.elemEnds)-1])) + + const fingerprintSize = 8 + assert(len(pr.elemData)-fingerprintSize == int(pr.elemEnds[len(pr.elemEnds)-1])) return pr } -- cgit v1.3