diff options
Diffstat (limited to 'contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp b/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp index 5daa40f..e665f296 100644 --- a/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp +++ b/contrib/llvm/tools/lldb/source/DataFormatters/LibCxxMap.cpp @@ -366,9 +366,15 @@ lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex (size_t // at this point we have a valid // we need to copy current_sp into a new object otherwise we will end up with all items named __value_ DataExtractor data; - iterated_sp->GetData(data); + Error error; + iterated_sp->GetData(data, error); + if (error.Fail()) + { + m_tree = NULL; + return lldb::ValueObjectSP(); + } StreamString name; - name.Printf("[%zu]",idx); + name.Printf("[%" PRIu64 "]", (uint64_t)idx); return (m_children[idx] = ValueObject::CreateValueObjectFromData(name.GetData(), data, m_backend.GetExecutionContextRef(), m_element_type)); } |