Commit a8fc547f authored by Russ Cox's avatar Russ Cox

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/18438Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
parent 39ad0fd0
......@@ -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")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment