From: Matthew Dempsky Date: Tue, 1 Dec 2015 19:58:41 +0000 (-0800) Subject: cmd/compile: eliminate Io.importsafe X-Git-Tag: go1.7beta1~1845 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=7d80291c4c8bce8754b6e1aeb962aed1ceef64dc;p=gostls13.git cmd/compile: eliminate Io.importsafe It was only really necessary for ensuring that package runtime should be treated as safe even without a "safe" marker, but mkbuiltin.go now compiles it with -u. Change-Id: Ifbcc62436ce40ab732ece667141afd82c1d3b64b Reviewed-on: https://go-review.googlesource.com/19625 Reviewed-by: Robert Griesemer Run-TryBot: Robert Griesemer TryBot-Result: Gobot Gobot --- diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go index 3146caed2f..8053aaffe9 100644 --- a/src/cmd/compile/internal/gc/go.go +++ b/src/cmd/compile/internal/gc/go.go @@ -386,15 +386,14 @@ type Sig struct { } type Io struct { - infile string - bin *obj.Biobuf - cp string // used for content when bin==nil - last int - peekc int - peekc1 int // second peekc for ... - nlsemi bool - eofnl bool - importsafe bool + infile string + bin *obj.Biobuf + cp string // used for content when bin==nil + last int + peekc int + peekc1 int // second peekc for ... + nlsemi bool + eofnl bool } type Dlist struct { diff --git a/src/cmd/compile/internal/gc/lex.go b/src/cmd/compile/internal/gc/lex.go index b9c27357bb..f1112e5af8 100644 --- a/src/cmd/compile/internal/gc/lex.go +++ b/src/cmd/compile/internal/gc/lex.go @@ -884,7 +884,6 @@ func cannedimports(file string, cp string) { curio.infile = file curio.cp = cp curio.nlsemi = false - curio.importsafe = false typecheckok = true incannedimport = 1 diff --git a/src/cmd/compile/internal/gc/parser.go b/src/cmd/compile/internal/gc/parser.go index 054cf73656..2e4be63a34 100644 --- a/src/cmd/compile/internal/gc/parser.go +++ b/src/cmd/compile/internal/gc/parser.go @@ -71,7 +71,6 @@ func (p *parser) loadsys() { } else { cannedimports("runtime.Builtin", runtimeimport) } - curio.importsafe = true p.import_package() p.import_there() @@ -467,9 +466,10 @@ func (p *parser) import_package() { p.import_error() } + importsafe := false if p.tok == LNAME { if p.sym_.Name == "safe" { - curio.importsafe = true + importsafe = true } p.next() } @@ -484,9 +484,9 @@ func (p *parser) import_package() { if incannedimport == 0 { importpkg.Direct = true } - importpkg.Safe = curio.importsafe + importpkg.Safe = importsafe - if safemode != 0 && !curio.importsafe { + if safemode != 0 && !importsafe { Yyerror("cannot import unsafe package %q", importpkg.Path) } }