compiler: don't double count "." in nested_function_num
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 7 Nov 2017 18:19:19 +0000 (18:19 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 7 Nov 2017 18:19:19 +0000 (18:19 +0000)
commit8b36a2501807646182b9b52c8b896f1a1cbd034e
treea7c52d0a34feae2fbabbea1016bdc79829bb0833
parent02d7065ff47470c8f5229dafae4a25819aabe523
compiler: don't double count "." in nested_function_num

    Nested functions are named "outerfunc.$nestedN", where N is a
    number. nested_function_num extracts that number. The name is
    first passed to unpack_hidden_name, which handles the "." and
    should result "$nestedN". Don't expect the "." again.

    This fixes assertion failure when escape analysis is enabled
    and -fgo-debug-escape is on. The failure looks

    go1: internal compiler error: in nested_function_num, at go/gofrontend/names.cc:241
    0x7bd7d3 Gogo::nested_function_num(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)

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

From-SVN: r254504
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/names.cc