compiler: better error message for unknown package name
Fixes golang/go#51237
Change-Id: I84c131cc2e8dc791fd4b6e50217167c3d8d97cfb
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415994
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
diff --git a/go/parse.cc b/go/parse.cc
index a3c6f63..c93d82b 100644
--- a/go/parse.cc
+++ b/go/parse.cc
@@ -191,7 +191,11 @@
Named_object* package = this->gogo_->lookup(name, NULL);
if (package == NULL || !package->is_package())
{
- go_error_at(this->location(), "expected package");
+ if (package == NULL)
+ go_error_at(this->location(), "reference to undefined name %qs",
+ Gogo::message_name(name).c_str());
+ else
+ go_error_at(this->location(), "expected package");
// We expect . IDENTIFIER; skip both.
if (this->advance_token()->is_identifier())
this->advance_token();