From 5be1821a31f1b88b8b9b9083454143f5aa90790d Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 20 Sep 2013 15:25:43 -0400 Subject: [PATCH] cmd/gc: fix imported and not used error for import . Fixes issues 6420. R=ken2 CC=golang-dev https://golang.org/cl/13703044 --- src/cmd/gc/lex.c | 4 ++-- test/import1.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index 414456adf2..a1473eb407 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -2296,7 +2296,7 @@ pkgnotused(int lineno, Strlit *path, char *name) elem++; else elem = path->s; - if(strcmp(elem, name) == 0) + if(name == nil || strcmp(elem, name) == 0) yyerrorl(lineno, "imported and not used: \"%Z\"", path); else yyerrorl(lineno, "imported and not used: \"%Z\" as %s", path, name); @@ -2335,7 +2335,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) { - pkgnotused(s->def->pack->lineno, s->def->pack->pkg->path, s->name); + pkgnotused(s->def->pack->lineno, s->def->pack->pkg->path, nil); s->def->pack->used = 1; } s->def = N; diff --git a/test/import1.go b/test/import1.go index 56b29d58c0..d2bb55cbff 100644 --- a/test/import1.go +++ b/test/import1.go @@ -14,5 +14,6 @@ import bufio "os" // ERROR "redeclared|redefinition|incompatible" "imported and import ( "fmt" // GCCGO_ERROR "previous|not used" - fmt "math" // ERROR "redeclared|redefinition|incompatible" "imported and not used" + fmt "math" // ERROR "redeclared|redefinition|incompatible" "imported and not used: \x22math\x22 as fmt" + . "math" // ERROR "imported and not used: \x22math\x22$" ) -- 2.50.0