compiler: revise exportdata fix for processing constant types
authorIan Lance Taylor <ian@gcc.gnu.org>
Mon, 14 Oct 2019 23:12:33 +0000 (23:12 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Mon, 14 Oct 2019 23:12:33 +0000 (23:12 +0000)
    This patch is an addendum to the fix for issue 34577, which was not
    sufficiently general. During export data processing, when looking at
    the types of constants mentioned in inlinable function bodies, include
    both locally defined constants and constant imported from other
    packages.

    Testcase for this bug is in CL 201017.

    Fixes golang/go#34852.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/201018

From-SVN: r276976

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/export.cc

index 651f747..c9efcba 100644 (file)
@@ -1,4 +1,4 @@
-f71238c0112311e4525a1f4b76d2f80be87d2e62
+1e2d98b27701744cf0ec57b19d7fc8f594184b9a
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 5aaa207..b27d2fa 100644 (file)
@@ -250,7 +250,7 @@ Collect_export_references::expression(Expression** pexpr)
     }
 
   const Named_object* nco = expr->named_constant();
-  if (nco != 0 && nco->package() == NULL)
+  if (nco != 0)
     {
       const Named_constant *nc = nco->const_value();
       Type::traverse(nc->type(), this);