compiler: Record each import as a distinct alias.
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 6 Oct 2015 21:24:17 +0000 (21:24 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 6 Oct 2015 21:24:17 +0000 (21:24 +0000)
commitc12df35927747bd91c0a2d0ffce030f2cdb9f722
treecc6ac014c96105160ab6f60ebc7049572c39490a
parentce9f2dc532f64c01d284ac34ff3ed8f8f49220c5
compiler: Record each import as a distinct alias.

    This patch introduces the Package_alias class which is a
    finer representation of the different between a package and the
    aliases it is imported under.  Each alias keeps track of the location
    of its import statement and how many times that alias has been used.
    This allows the gofrontend to report when a specific import has not
    been used even if a symbol from the package has been used by another
    import.

    Fixes golang/go#12326.

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

From-SVN: r228550
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/gogo.h
gcc/go/gofrontend/parse.cc
gcc/go/gofrontend/unsafe.cc
gcc/testsuite/go.test/test/fixedbugs/issue5957.dir/c.go
gcc/testsuite/go.test/test/import4.dir/import4.go