@@ -1440,14 +1440,12 @@ static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
1440
1440
stl_deref_flags,
1441
1441
" lldb.formatters.cpp.gnu_libstdcpp.StdUnorderedMapSynthProvider" )));
1442
1442
cpp_category_sp->AddTypeSynthetic (
1443
- " ^std::((__debug::)?|(__cxx11::)?)list<.+>(( )?&)?$" ,
1444
- eFormatterMatchRegex,
1443
+ " ^std::__(debug|cxx11)::list<.+>(( )?&)?$" , eFormatterMatchRegex,
1445
1444
SyntheticChildrenSP (new ScriptedSyntheticChildren (
1446
1445
stl_deref_flags,
1447
1446
" lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider" )));
1448
1447
cpp_category_sp->AddTypeSynthetic (
1449
- " ^std::((__debug::)?|(__cxx11::)?)forward_list<.+>(( )?&)?$" ,
1450
- eFormatterMatchRegex,
1448
+ " ^std::__(debug|cxx11)::forward_list<.+>(( )?&)?$" , eFormatterMatchRegex,
1451
1449
SyntheticChildrenSP (new ScriptedSyntheticChildren (
1452
1450
stl_synth_flags,
1453
1451
" lldb.formatters.cpp.gnu_libstdcpp.StdForwardListSynthProvider" )));
@@ -1501,15 +1499,13 @@ static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
1501
1499
" ^std::(__debug::)?unordered_(multi)?(map|set)<.+> >$" ,
1502
1500
stl_summary_flags, true );
1503
1501
1504
- AddCXXSummary (cpp_category_sp,
1505
- lldb_private::formatters::ContainerSizeSummaryProvider,
1506
- " libstdc++ std::list summary provider" ,
1507
- " ^std::((__debug::)?|(__cxx11::)?)list<.+>(( )?&)?$" ,
1508
- stl_summary_flags, true );
1502
+ AddCXXSummary (
1503
+ cpp_category_sp, lldb_private::formatters::ContainerSizeSummaryProvider,
1504
+ " libstdc++ debug std::list summary provider" ,
1505
+ " ^std::__(debug|cxx11)::list<.+>(( )?&)?$" , stl_summary_flags, true );
1509
1506
1510
1507
cpp_category_sp->AddTypeSummary (
1511
- " ^std::((__debug::)?|(__cxx11::)?)forward_list<.+>(( )?&)?$" ,
1512
- eFormatterMatchRegex,
1508
+ " ^std::__(debug|cxx11)::forward_list<.+>(( )?&)?$" , eFormatterMatchRegex,
1513
1509
TypeSummaryImplSP (new ScriptSummaryFormat (
1514
1510
stl_summary_flags,
1515
1511
" lldb.formatters.cpp.gnu_libstdcpp.ForwardListSummaryProvider" )));
@@ -1627,6 +1623,31 @@ GenericVectorSyntheticFrontEndCreator(CXXSyntheticChildren *children,
1627
1623
" lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider" , *valobj_sp);
1628
1624
}
1629
1625
1626
+ static SyntheticChildrenFrontEnd *
1627
+ GenericListSyntheticFrontEndCreator (CXXSyntheticChildren *children,
1628
+ lldb::ValueObjectSP valobj_sp) {
1629
+ if (!valobj_sp)
1630
+ return nullptr ;
1631
+
1632
+ if (IsMsvcStlList (*valobj_sp))
1633
+ return MsvcStlListSyntheticFrontEndCreator (children, valobj_sp);
1634
+ return new ScriptedSyntheticChildren::FrontEnd (
1635
+ " lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider" , *valobj_sp);
1636
+ }
1637
+
1638
+ static SyntheticChildrenFrontEnd *
1639
+ GenericForwardListSyntheticFrontEndCreator (CXXSyntheticChildren *children,
1640
+ lldb::ValueObjectSP valobj_sp) {
1641
+ if (!valobj_sp)
1642
+ return nullptr ;
1643
+
1644
+ if (IsMsvcStlList (*valobj_sp))
1645
+ return MsvcStlForwardListSyntheticFrontEndCreator (children, valobj_sp);
1646
+ return new ScriptedSyntheticChildren::FrontEnd (
1647
+ " lldb.formatters.cpp.gnu_libstdcpp.StdForwardListSynthProvider" ,
1648
+ *valobj_sp);
1649
+ }
1650
+
1630
1651
// / Load formatters that are formatting types from more than one STL
1631
1652
static void LoadCommonStlFormatters (lldb::TypeCategoryImplSP cpp_category_sp) {
1632
1653
if (!cpp_category_sp)
@@ -1685,6 +1706,12 @@ static void LoadCommonStlFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
1685
1706
AddCXXSynthetic (cpp_category_sp, GenericTupleSyntheticFrontEndCreator,
1686
1707
" std::tuple synthetic children" , " ^std::tuple<.*>(( )?&)?$" ,
1687
1708
stl_synth_flags, true );
1709
+ AddCXXSynthetic (cpp_category_sp, GenericListSyntheticFrontEndCreator,
1710
+ " std::list synthetic children" , " ^std::list<.+>(( )?&)?$" ,
1711
+ stl_synth_flags, true );
1712
+ AddCXXSynthetic (cpp_category_sp, GenericForwardListSyntheticFrontEndCreator,
1713
+ " std::forward_list synthetic children" ,
1714
+ " ^std::forward_list<.+>(( )?&)?$" , stl_synth_flags, true );
1688
1715
1689
1716
AddCXXSummary (cpp_category_sp, GenericSmartPointerSummaryProvider,
1690
1717
" MSVC STL/libstdc++ std::shared_ptr summary provider" ,
@@ -1704,6 +1731,14 @@ static void LoadCommonStlFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
1704
1731
AddCXXSynthetic (cpp_category_sp, GenericVectorSyntheticFrontEndCreator,
1705
1732
" MSVC/libstdc++ std::vector synthetic provider" ,
1706
1733
" ^std::vector<.+>(( )?&)?$" , stl_synth_flags, true );
1734
+ AddCXXSummary (cpp_category_sp, ContainerSizeSummaryProvider,
1735
+ " MSVC STL/libstdc++ std::list summary provider" ,
1736
+ " ^std::list<.+>(( )?&)?$" , stl_summary_flags, true );
1737
+ cpp_category_sp->AddTypeSummary (
1738
+ " ^std::forward_list<.+>(( )?&)?$" , eFormatterMatchRegex,
1739
+ TypeSummaryImplSP (new ScriptSummaryFormat (
1740
+ stl_summary_flags,
1741
+ " lldb.formatters.cpp.gnu_libstdcpp.ForwardListSummaryProvider" )));
1707
1742
}
1708
1743
1709
1744
static void LoadMsvcStlFormatters (lldb::TypeCategoryImplSP cpp_category_sp) {
0 commit comments