diff --git a/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp b/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp --- a/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp @@ -81,12 +81,11 @@ TargetSP target_sp = m_backend.GetTargetSP(); if (!target_sp) return false; - size_t capping_size = target_sp->GetMaximumNumberOfChildrenToDisplay(); size_t size = 0; if (auto arg = m_backend.GetCompilerType().GetIntegralTemplateArgument(0)) - size = arg->value.getLimitedValue(capping_size); + size = arg->value.getLimitedValue(); m_elements.assign(size, ValueObjectSP()); m_first = m_backend.GetChildMemberWithName(GetDataContainerMemberName(), true) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/TestDataFormatterGenericBitset.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/TestDataFormatterGenericBitset.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/TestDataFormatterGenericBitset.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/TestDataFormatterGenericBitset.py @@ -21,7 +21,7 @@ def setUp(self): TestBase.setUp(self) - primes = [1]*300 + primes = [1]*1000 primes[0] = primes[1] = 0 for i in range(2, len(primes)): for j in range(2*i, len(primes), i): @@ -58,7 +58,8 @@ self.check("empty", 0, VALUE) self.check("small", 13, VALUE) - self.check("large", 70, VALUE) + self.check("medium", 70, VALUE) + self.check("large", 1000, VALUE) @add_test_categories(["libstdcxx"]) def test_value_libstdcpp(self): @@ -84,6 +85,11 @@ self.check("ref", 70, REFERENCE) self.check("ptr", 70, POINTER) + lldbutil.continue_to_breakpoint(process, bkpt) + + self.check("ref", 1000, REFERENCE) + self.check("ptr", 1000, POINTER) + @add_test_categories(["libstdcxx"]) def test_ptr_and_ref_libstdcpp(self): self.do_test_ptr_and_ref(USE_LIBSTDCPP) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/main.cpp --- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/main.cpp +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/bitset/main.cpp @@ -20,9 +20,12 @@ std::bitset<0> empty; std::bitset<13> small; fill(small); - std::bitset<70> large; + std::bitset<70> medium; + fill(medium); + std::bitset<1000> large; fill(large); by_ref_and_ptr(small, &small); // break here + by_ref_and_ptr(medium, &medium); by_ref_and_ptr(large, &large); return 0; }