compiler: suppress type descriptor generation for aliases
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 11 Sep 2019 14:25:52 +0000 (14:25 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 11 Sep 2019 14:25:52 +0000 (14:25 +0000)
commita387d636cda7df27df2ad52c3947ef8d37f7aa46
tree185c7265a52dd4e8bd4db98543e2f4c557aa5963
parentdebae5232b81f4f0adcdc25ad8c8d2645a6ea376
compiler: suppress type descriptor generation for aliases

    Change Named_object::get_backend to ignore aliases when creating type
    descriptors for types, to be consistent with
    Type::needs_specific_type_functions and the Specific_type_functions
    traversal class. For example, when compiling a package that creates an
    alias to an an externally defined type, e.g.

       import "foo"
       type MyFoo = foo.Foo

    it makes sense to skip the alias (not try to generate type specific
    functions for it) and let the normal mechanisms take care of the alias
    target, depending on whether the target is defined locally or defined
    elsewhere.

    Testcase for this problen can be found in CL 193261.

    Fixes golang/go#33866.

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

From-SVN: r275651
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/gogo.cc