]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: identify the runtime pkg using myimportpath
authorMichael Matloob <matloob@golang.org>
Thu, 19 Nov 2015 19:09:33 +0000 (14:09 -0500)
committerMichael Matloob <matloob@golang.org>
Thu, 19 Nov 2015 19:50:03 +0000 (19:50 +0000)
Because there are now multiple packages that compose the runtime
we need to distinguish between the case where a runtime package
is being compiled versus the case the "runtime" package is being
compiled. In golang.org/cl/14204 I mistakenly used
  localpkg.Name == "runtime"
to check against the "runtime" package, but doing this would treat
a package with the path "foo.org/bar/runtime" as the runtime package.
The correct check is
  myimportpath == "runtime"
.

Change-Id: If90e95cef768d91206f2df1c06e27be876722e4e
Reviewed-on: https://go-review.googlesource.com/17059
Run-TryBot: Michael Matloob <matloob@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/compile/internal/gc/reflect.go

index deaeb4606c85702e8f509bfce138f4ccf5caa613..264955c702b4d0aa629d3a0216d2f70ed5cfa4a2 100644 (file)
@@ -989,7 +989,7 @@ func dtypesym(t *Type) *Sym {
                dupok = obj.DUPOK
        }
 
-       if localpkg.Name == "runtime" && (tbase == Types[tbase.Etype] || tbase == bytetype || tbase == runetype || tbase == errortype) { // int, float, etc
+       if myimportpath == "runtime" && (tbase == Types[tbase.Etype] || tbase == bytetype || tbase == runetype || tbase == errortype) { // int, float, etc
                goto ok
        }
 
@@ -1266,7 +1266,7 @@ func dumptypestructs() {
        // so this is as good as any.
        // another possible choice would be package main,
        // but using runtime means fewer copies in .6 files.
-       if localpkg.Name == "runtime" {
+       if myimportpath == "runtime" {
                for i := EType(1); i <= TBOOL; i++ {
                        dtypesym(Ptrto(Types[i]))
                }