compiler: fix import of indirectly imported type alias
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 12 Oct 2017 19:01:50 +0000 (19:01 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 12 Oct 2017 19:01:50 +0000 (19:01 +0000)
    We were looking for the " = " before the optional package name that
    appears for an indirect reference, but the exporter was putting it
    after.

    Test is https://golang.org/cl/70290.

    Reviewed-on: https://go-review.googlesource.com/70330

From-SVN: r253694

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/import.cc

index 41f809f79895cf266fd44d0845e40b8651fdfe1e..418e1274fdfd15bd951affaa83bdcc6038471aab 100644 (file)
@@ -1,4 +1,4 @@
-af46ad16dc34773877068393d331ac8ae34b2219
+44132970e4b6c1186036bf8eda8982fb6e905d6f
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 20b077f7f9985e6436cdada24df66986f18ac727..2a3ea83ca78962c2b0626485b8c4a6e9a175194b 100644 (file)
@@ -756,13 +756,6 @@ Import::read_type()
 
   this->require_c_string(" ");
 
-  bool is_alias = false;
-  if (this->match_c_string("= "))
-    {
-      stream->advance(2);
-      is_alias = true;
-    }
-
   // The package name may follow.  This is the name of the package in
   // the package clause of that package.  The type name will include
   // the pkgpath, which may be different.
@@ -775,6 +768,13 @@ Import::read_type()
       this->require_c_string(" ");
     }
 
+  bool is_alias = false;
+  if (this->match_c_string("= "))
+    {
+      stream->advance(2);
+      is_alias = true;
+    }
+
   // Declare the type in the appropriate package.  If we haven't seen
   // it before, mark it as invisible.  We declare it before we read
   // the actual definition of the type, since the definition may refer