This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL324672: Recognize MSVC style mangling in CPlusPlusLanguage::IsCPPMangledName (authored by asmith, committed by ).
Changed prior to commit: https://reviews.llvm.org/D43059?vs=133489&id=133503#toc Repository: rL LLVM https://reviews.llvm.org/D43059 Files: lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp Index: lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp =================================================================== --- lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp +++ lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp @@ -251,13 +251,17 @@ } 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(
Index: lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp =================================================================== --- lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp +++ lldb/trunk/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp @@ -251,13 +251,17 @@ } 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(
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits