From 7ca1c765204cca7cca0ac248ccfffbe184d80719 Mon Sep 17 00:00:00 2001 From: Enrico Granata Date: Mon, 31 Mar 2014 23:02:25 +0000 Subject: For some reason, the libc++ vector data formatter was essentially a costly no-up, doing everything required of it, except actually generating the child values! This restores its functionality llvm-svn: 205259 --- lldb/source/DataFormatters/LibCxx.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'lldb/source/DataFormatters/LibCxx.cpp') diff --git a/lldb/source/DataFormatters/LibCxx.cpp b/lldb/source/DataFormatters/LibCxx.cpp index 585c2e65207..174202661f0 100644 --- a/lldb/source/DataFormatters/LibCxx.cpp +++ b/lldb/source/DataFormatters/LibCxx.cpp @@ -139,11 +139,11 @@ lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::GetChildAtIndex (si return ValueObjectSP(); } bool bit_set = ((byte & mask) != 0); - ValueObjectSP retval_sp; DataBufferSP buffer_sp(new DataBufferHeap(m_bool_type.GetByteSize(),0)); if (bit_set && buffer_sp && buffer_sp->GetBytes()) *(buffer_sp->GetBytes()) = 1; // regardless of endianness, anything non-zero is true StreamString name; name.Printf("[%" PRIu64 "]", (uint64_t)idx); + ValueObjectSP retval_sp(ValueObject::CreateValueObjectFromData(name.GetData(), DataExtractor(buffer_sp, process_sp->GetByteOrder(), process_sp->GetAddressByteSize()), m_exe_ctx_ref, m_bool_type)); if (retval_sp) m_children[idx] = retval_sp; return retval_sp; @@ -164,8 +164,6 @@ lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::Update() { m_children.clear(); ValueObjectSP valobj_sp = m_backend.GetSP(); - if (!valobj_sp) - return false; if (!valobj_sp) return false; m_exe_ctx_ref = valobj_sp->GetExecutionContextRef(); -- cgit v1.2.3