Recognize MSVC style mangling in CPlusPlusLanguage::IsCPPMangledName

Reviewers: zturner, lldb-commits, labath

Reviewed By: zturner

Subscribers: jingham, labath, davide, llvm-commits

Differential Revision: https://reviews.llvm.org/D43059

llvm-svn: 324672
This commit is contained in:
Aaron Smith 2018-02-08 23:11:56 +00:00
parent 30d7309f6d
commit b38799c105
1 changed files with 11 additions and 7 deletions

View File

@ -251,13 +251,17 @@ std::string CPlusPlusLanguage::MethodName::GetScopeQualifiedName() {
}
bool CPlusPlusLanguage::IsCPPMangledName(const char *name) {
// FIXME, we should really run through all the known C++ Language plugins and
// ask each one if
// this is a C++ mangled name, but we can put that off till there is actually
// more than one
// we care about.
return (name != nullptr && name[0] == '_' && name[1] == 'Z');
// FIXME!! we should really run through all the known C++ Language
// plugins and ask each one if this is a C++ mangled name
if (name == nullptr)
return false;
// MSVC style mangling
if (name[0] == '?')
return true;
return (name[0] != '\0' && name[0] == '_' && name[1] == 'Z');
}
bool CPlusPlusLanguage::ExtractContextAndIdentifier(