gc: fix imported and not used message - show path

R=ken2
CC=golang-dev
https://golang.org/cl/229046
This commit is contained in:
Russ Cox 2010-03-03 17:23:47 -08:00
parent 90367756bb
commit f1550482fa
4 changed files with 27 additions and 4 deletions

View file

@ -1610,7 +1610,7 @@ mkpackage(char* pkgname)
// errors if a conflicting top-level name is
// introduced by a different file.
if(!s->def->used && !nsyntaxerrors)
yyerrorl(s->def->lineno, "imported and not used: %s", s->def->sym->name);
yyerrorl(s->def->lineno, "imported and not used: %Z", s->def->pkg->path);
s->def = N;
continue;
}
@ -1618,7 +1618,7 @@ mkpackage(char* pkgname)
// throw away top-level name left over
// from previous import . "x"
if(s->def->pack != N && !s->def->pack->used && !nsyntaxerrors) {
yyerrorl(s->def->pack->lineno, "imported and not used: %s", s->def->pack->sym->name);
yyerrorl(s->def->pack->lineno, "imported and not used: %Z", s->def->pack->pkg->path);
s->def->pack->used = 1;
}
s->def = N;

View file

@ -360,7 +360,7 @@ importdot(Pkg *opkg, Node *pack)
}
if(n == 0) {
// can't possibly be used - there were no symbols
yyerrorl(pack->lineno, "imported and not used: %s", pack->sym->name);
yyerrorl(pack->lineno, "imported and not used: %Z", opkg->path);
}
}

View file

@ -1128,7 +1128,6 @@ walkexpr(Node **np, NodeList **init)
case OARRAYLIT:
case OMAPLIT:
case OSTRUCTLIT:
arraylit:
nvar = nod(OXXX, N, N);
tempname(nvar, n->type);
anylit(n, nvar, init);

24
test/import4.go Normal file
View file

@ -0,0 +1,24 @@
// $G $D/empty.go && errchk $G $D/$F.go
// Copyright 2009 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.
package main
// various kinds of imported and not used
// standard
import "fmt" // ERROR "imported and not used.*fmt"
// renamed
import X "math" // ERROR "imported and not used.*math"
// import dot
import . "bufio" // ERROR "imported and not used.*bufio"
// again, package without anything in it
import "./empty" // ERROR "imported and not used.*empty"
import Z "./empty" // ERROR "imported and not used.*empty"
import . "./empty" // ERROR "imported and not used.*empty"