mirror of https://github.com/golang/go.git
gc: fix package quoting logic
The decision for when to say "hash/crc32".New instead of crc32.New in an error was double-counting imports from different packages or indirect imports, so it was quoting even when there was no ambiguity. R=ken2 CC=golang-dev https://golang.org/cl/4645070
This commit is contained in:
parent
3a52cf56f8
commit
ff4518da17
|
|
@ -237,8 +237,11 @@ import_here:
|
||||||
import_package:
|
import_package:
|
||||||
LPACKAGE sym import_safety ';'
|
LPACKAGE sym import_safety ';'
|
||||||
{
|
{
|
||||||
importpkg->name = $2->name;
|
if(importpkg->name == nil) {
|
||||||
pkglookup($2->name, nil)->npkg++;
|
importpkg->name = $2->name;
|
||||||
|
pkglookup($2->name, nil)->npkg++;
|
||||||
|
} else if(strcmp(importpkg->name, $2->name) != 0)
|
||||||
|
yyerror("conflicting names %s and %s for package %Z", importpkg->name, $2->name, importpkg->path);
|
||||||
importpkg->direct = 1;
|
importpkg->direct = 1;
|
||||||
|
|
||||||
if(safemode && !curio.importsafe)
|
if(safemode && !curio.importsafe)
|
||||||
|
|
@ -1658,8 +1661,11 @@ hidden_import:
|
||||||
Pkg *p;
|
Pkg *p;
|
||||||
|
|
||||||
p = mkpkg($3.u.sval);
|
p = mkpkg($3.u.sval);
|
||||||
p->name = $2->name;
|
if(p->name == nil) {
|
||||||
pkglookup($2->name, nil)->npkg++;
|
p->name = $2->name;
|
||||||
|
pkglookup($2->name, nil)->npkg++;
|
||||||
|
} else if(strcmp(p->name, $2->name) != 0)
|
||||||
|
yyerror("conflicting names %s and %s for package %Z", p->name, $2->name, p->path);
|
||||||
}
|
}
|
||||||
| LVAR hidden_pkg_importsym hidden_type ';'
|
| LVAR hidden_pkg_importsym hidden_type ';'
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue