cmd/compile: fix some C to Go translation leftovers

Following the C to Go translation, some useless variables
were left in the code. In fmt.go, this was harmless.
In lex.go, it broke the error message related to
non-canonical import paths.

Fix it, and remove the useless variables.

The added test case is ignored in the go/types tests, since
the behavior of the non-canonical import path check seems
to be different.

Fixes #11362

Change-Id: Ic9129139ede90357dc79ebf167af638cf44536fa
Reviewed-on: https://go-review.googlesource.com/15580
Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com>
Reviewed-by: Minux Ma <minux@golang.org>
Run-TryBot: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Didier Spezia 2015-10-07 22:25:25 +00:00 committed by Minux Ma
parent a5cb76243a
commit cb0e98b833
4 changed files with 17 additions and 11 deletions

View file

@ -1595,8 +1595,6 @@ func Sconv(s *Sym, flag int) string {
sf := flag
sm := setfmode(&flag)
var r int
_ = r
str := symfmt(s, flag)
flag = sf
fmtmode = sm
@ -1631,8 +1629,6 @@ func Tconv(t *Type, flag int) string {
flag |= obj.FmtUnsigned
}
var r int
_ = r
str := typefmt(t, flag)
if fmtmode == FTypeId && (sf&obj.FmtUnsigned != 0) {
@ -1659,8 +1655,6 @@ func Nconv(n *Node, flag int) string {
sf := flag
sm := setfmode(&flag)
var r int
_ = r
var str string
switch fmtmode {
case FErr, FExp:
@ -1693,8 +1687,6 @@ func Hconv(l *NodeList, flag int) string {
sf := flag
sm := setfmode(&flag)
var r int
_ = r
sep := "; "
if fmtmode == FDbg {
sep = "\n"

View file

@ -595,9 +595,7 @@ func findpkg(name string) (file string, ok bool) {
// local imports should be canonicalized already.
// don't want to see "encoding/../encoding/base64"
// as different from "encoding/base64".
var q string
_ = q
if path.Clean(name) != name {
if q := path.Clean(name); q != name {
Yyerror("non-canonical import path %q (should be %q)", name, q)
return "", false
}

View file

@ -150,6 +150,7 @@ func TestStdFixed(t *testing.T) {
"issue7746.go", // large constants - consumes too much memory
"issue11326.go", // large constants
"issue11326b.go", // large constants
"issue11362.go", // canonical import path check
)
}

View file

@ -0,0 +1,15 @@
// errorcheck
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 11362: prints empty canonical import path
package main
import _ "unicode//utf8" // ERROR "non-canonical import path .unicode//utf8. \(should be .unicode/utf8.\)" "can't find import: .unicode//utf8."
func main() {
}