[Lldb-commits] [lldb] 856fd98 - Generalize regex matching std::string variants to compensate for recent
Richard Smith via lldb-commits
lldb-commits at lists.llvm.org
Wed Nov 11 17:55:58 PST 2020
Author: Richard Smith
Date: 2020-11-11T17:55:47-08:00
New Revision: 856fd98a176240470dcc2b8ad54b5c17ef6a75b3
URL: https://github.com/llvm/llvm-project/commit/856fd98a176240470dcc2b8ad54b5c17ef6a75b3
DIFF: https://github.com/llvm/llvm-project/commit/856fd98a176240470dcc2b8ad54b5c17ef6a75b3.diff
LOG: Generalize regex matching std::string variants to compensate for recent
improvements to Clang's type printing.
Added:
Modified:
lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
index 83a140ebd5e7..7bc5b194514a 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
@@ -461,52 +461,52 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderASCII,
"std::string summary provider",
- ConstString("^std::__[[:alnum:]]+::string$"), stl_summary_flags,
+ ConstString("^std::(__[[:alnum:]]+::)?string$"), stl_summary_flags,
true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderASCII,
"std::string summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<char, "
- "std::__[[:alnum:]]+::char_traits<char>, "
- "std::__[[:alnum:]]+::allocator<char> >$"),
+ ConstString("^std::(__[[:alnum:]]+::)?basic_string<char(, "
+ "std::(__[[:alnum:]]+::)?char_traits<char>, "
+ "std::(__[[:alnum:]]+::)?allocator<char> )?>$"),
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderASCII,
"std::string summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<unsigned char, "
- "std::__[[:alnum:]]+::char_traits<unsigned char>, "
- "std::__[[:alnum:]]+::allocator<unsigned char> >$"),
+ ConstString("^std::(__[[:alnum:]]+::)?basic_string<unsigned char(, "
+ "std::(__[[:alnum:]]+::)?char_traits<unsigned char>, "
+ "std::(__[[:alnum:]]+::)?allocator<unsigned char> )?>$"),
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderUTF16,
"std::u16string summary provider",
ConstString(
- "^std::__[[:alnum:]]+::basic_string<char16_t, "
- "std::__[[:alnum:]]+::char_traits<char16_t>, "
- "std::__[[:alnum:]]+::allocator<char16_t> >$"),
+ "^std::(__[[:alnum:]]+::)?basic_string<char16_t(, "
+ "std::(__[[:alnum:]]+::)?char_traits<char16_t>, "
+ "std::(__[[:alnum:]]+::)?allocator<char16_t> )?>$"),
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderUTF32,
"std::u32string summary provider",
ConstString(
- "^std::__[[:alnum:]]+::basic_string<char32_t, "
- "std::__[[:alnum:]]+::char_traits<char32_t>, "
- "std::__[[:alnum:]]+::allocator<char32_t> >$"),
+ "^std::(__[[:alnum:]]+::)?basic_string<char32_t(, "
+ "std::(__[[:alnum:]]+::)?char_traits<char32_t>, "
+ "std::(__[[:alnum:]]+::)?allocator<char32_t> )?>$"),
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxWStringSummaryProvider,
"std::wstring summary provider",
- ConstString("^std::__[[:alnum:]]+::wstring$"),
+ ConstString("^std::(__[[:alnum:]]+::)?wstring$"),
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxWStringSummaryProvider,
"std::wstring summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<wchar_t, "
- "std::__[[:alnum:]]+::char_traits<wchar_t>, "
- "std::__[[:alnum:]]+::allocator<wchar_t> >$"),
+ ConstString("^std::(__[[:alnum:]]+::)?basic_string<wchar_t(, "
+ "std::(__[[:alnum:]]+::)?char_traits<wchar_t>, "
+ "std::(__[[:alnum:]]+::)?allocator<wchar_t> )?>$"),
stl_summary_flags, true);
SyntheticChildren::Flags stl_synth_flags;
@@ -787,6 +787,10 @@ static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
ConstString("std::__cxx11::basic_string<char, std::char_traits<char>, "
"std::allocator<char> >"),
cxx11_string_summary_sp);
+ cpp_category_sp->GetTypeSummariesContainer()->Add(
+ ConstString("std::basic_string<unsigned char, std::char_traits<unsigned char>, "
+ "std::allocator<unsigned char> >"),
+ cxx11_string_summary_sp);
cpp_category_sp->GetTypeSummariesContainer()->Add(
ConstString("std::__cxx11::basic_string<unsigned char, std::char_traits<unsigned char>, "
"std::allocator<unsigned char> >"),
More information about the lldb-commits
mailing list