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();