[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