diff options
Diffstat (limited to 'gcc/go/gofrontend/gogo.h')
-rw-r--r-- | gcc/go/gofrontend/gogo.h | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/gcc/go/gofrontend/gogo.h b/gcc/go/gofrontend/gogo.h index 9c469ca..48359eb 100644 --- a/gcc/go/gofrontend/gogo.h +++ b/gcc/go/gofrontend/gogo.h @@ -199,26 +199,10 @@ class Gogo return name.substr(1, name.rfind('.') - 1); } - // Given a name which may or may not have been hidden, return the - // name to use within a mangled symbol name. - static std::string - mangle_possibly_hidden_name(const std::string& name) - { - // FIXME: This adds in pkgpath twice for hidden symbols, which is - // less than ideal. - std::string n; - if (!Gogo::is_hidden_name(name)) - n = name; - else - { - n = "."; - std::string pkgpath = Gogo::hidden_name_pkgpath(name); - n.append(Gogo::pkgpath_for_symbol(pkgpath)); - n.append(1, '.'); - n.append(Gogo::unpack_hidden_name(name)); - } - return n; - } + // Given a name which may or may not have been hidden, append the + // appropriate version of the name to the result string. + static void + append_possibly_hidden_name(std::string *result, const std::string& name); // Given a name which may or may not have been hidden, return the // name to use in an error message. |