1
0
mirror of https://github.com/golang/go synced 2024-09-25 13:30:12 -06:00

cmd/compile: apply -importmap to imports before checking for package unsafe

There are fewer special cases this way: the import map applies
to all import paths, not just the ones not spelled "unsafe".

This is also consistent with what the code in cmd/go and go/build expects.
They make no exception for "unsafe".

For #13703.

Change-Id: I622295261ca35a6c1e83e8508d363bddbddb6c0a
Reviewed-on: https://go-review.googlesource.com/18438
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
This commit is contained in:
Russ Cox 2016-01-08 11:36:36 -05:00
parent 39ad0fd078
commit a8fc547f78

View File

@ -694,7 +694,13 @@ func importfile(f *Val, line int) {
errorexit()
}
if f.U.(string) == "unsafe" {
path_ := f.U.(string)
if mapped, ok := importMap[path_]; ok {
path_ = mapped
}
if path_ == "unsafe" {
if safemode != 0 {
Yyerror("cannot import package unsafe")
errorexit()
@ -706,12 +712,6 @@ func importfile(f *Val, line int) {
return
}
path_ := f.U.(string)
if mapped, ok := importMap[path_]; ok {
path_ = mapped
}
if islocalname(path_) {
if path_[0] == '/' {
Yyerror("import path cannot be absolute path")