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 651f747371493973a33dbf45ffe9b839ac9eaa9b..c9efcba01130850957350671715c65c12a030ca9 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 5aaa207ff5fbf69a19ae04bebe6f588f27558b8a..b27d2fa11e450dcdce05629b52844f68fc2427ef 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);