From: Cuong Manh Le Date: Wed, 1 Sep 2021 12:58:31 +0000 (+0700) Subject: cmd/compile: allow objStub from unsafe package X-Git-Tag: go1.18beta1~1520 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9afbf82667a81827a805f39db51ff36bf0abc737;p=gostls13.git cmd/compile: allow objStub from unsafe package CL 346469 added support for unsafe.Sizeof and friends to operate on generic parameters for compiler importer/exporter. This CL adds support for unified IR. Updates #48094 Change-Id: I63af1a7c3478f59b03ecc23229ac2254d3457868 Reviewed-on: https://go-review.googlesource.com/c/go/+/346769 Trust: Cuong Manh Le Run-TryBot: Cuong Manh Le TryBot-Result: Go Bot Reviewed-by: Keith Randall Reviewed-by: Matthew Dempsky --- diff --git a/src/cmd/compile/internal/noder/reader2.go b/src/cmd/compile/internal/noder/reader2.go index 8f3f0a50e9..a775ffda34 100644 --- a/src/cmd/compile/internal/noder/reader2.go +++ b/src/cmd/compile/internal/noder/reader2.go @@ -147,6 +147,10 @@ func (r *reader2) doPkg() *types2.Package { if path == "builtin" { return nil // universe } + if path == "unsafe" { + // TODO(mdempsky): This should be in r.p.imports. + return types2.Unsafe + } if path == "" { path = r.p.pkgPath } @@ -362,7 +366,7 @@ func (pr *pkgReader2) objIdx(idx int) (*types2.Package, string) { tag := codeObj(rname.code(syncCodeObj)) if tag == objStub { - assert(objPkg == nil) + assert(objPkg == nil || objPkg == types2.Unsafe) return objPkg, objName }