compiler: deref receiver types in mangled names
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 25 Jan 2018 23:10:35 +0000 (23:10 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 25 Jan 2018 23:10:35 +0000 (23:10 +0000)
commita14e122ae2ecf27a8cace7e0d1dda8606d5e4eca
treee7d8639d02f527aa3613c5443f0d7df1e358d02e
parent9aba6f77b481d555ea7c3d24911011be013dbc0b
compiler: deref receiver types in mangled names

    This was the original intent, as reflected in the long comment at the
    start of names.cc, but I forgot to implement it.

    Also, remove a leading ".0" from the final name.  That could occur for
    a method whose receiver type starts with 'u', as in that case we
    prepend a space to the mangled name, to avoid confusion with the
    Unicode mangling, and the space turns into ".0".

    Also, if the Unicode encoding would cause the final to start with
    "..u" or "..U", add a leading underscore.

    Patch gotest to not get fooled by some names.

    The result of these changes is that all symbols start with a letter or
    an underscore.

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

From-SVN: r257068
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/go-encode-id.cc
gcc/go/gofrontend/names.cc
libgo/go/runtime/pprof/pprof_test.go
libgo/testsuite/gotest