compiler: list indirect imports separately in export data
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 18 Oct 2018 23:22:01 +0000 (23:22 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 18 Oct 2018 23:22:01 +0000 (23:22 +0000)
commitdbf9376f9ed37bc98218adde4e17d6ee34701179
treeae9ca18100b4d161827eb0d62c561c73d7e8625b
parent442d4185084653cec6922fc87f9a8c1b96e4b87d
compiler: list indirect imports separately in export data

    Previously when export data referred to a type that was not defined in
    a directly imported package, we would write the package name as
    additional information in the type's export data.  That approach
    required all type information to be read in order.  This patch changes
    the compiler to find all references to indirectly imported packages,
    and write them out as an indirectimport line in the import data.  This
    will permit us to read exported type data out of order.

    The type traversal used to find indirect imports is a little more
    complicated than necessary in preparation for later patches in this
    series.

    Reviewed-on: https://go-review.googlesource.com/c/143020

From-SVN: r265296
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/export.cc
gcc/go/gofrontend/export.h
gcc/go/gofrontend/import.cc
gcc/go/gofrontend/import.h
gcc/go/gofrontend/types.cc
gcc/go/gofrontend/types.h
libgo/go/go/internal/gccgoimporter/parser.go