compiler: make single Btype for methods table of identical interface type
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 7 Feb 2018 01:52:48 +0000 (01:52 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 7 Feb 2018 01:52:48 +0000 (01:52 +0000)
commit84c71bb8ecc84f6ca5cbc56786b9ba74eb05057e
tree24d63e86412abc324b20ce986151d07c70bf01a2
parent95b88fd400cdc0300ed5a7ec7abaf90958aef58d
compiler: make single Btype for methods table of identical interface type

    Normally we ensure to build a single Btype for identical types.
    We did not do this for methods table of identical interface
    types, however. If there are two identical interface type I, I2,
    they have the same Btype BI, but different Btypes for their
    methods tables, BM and BM2. From the backend's point of view
    only one of them is linked to BI. This can cause inconsitency
    in the backend's type system, like unresolved placeholder. This
    CL ensures we create a single Btype for methods table of
    identical interface type.

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

From-SVN: r257436
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/types.cc
gcc/go/gofrontend/types.h