diff options
author | Cameron Desrochers <cameron@moodycamel.com> | 2019-10-09 21:15:48 +0000 |
---|---|---|
committer | Cameron Desrochers <cameron@moodycamel.com> | 2019-10-09 21:15:48 +0000 |
commit | 745e57c5939e289789b9171e118b09c3c59c572a (patch) | |
tree | d9ba25be3deaa3e750f41297c47dc45cd422ea9f /lldb/source/Plugins/Language/CPlusPlus | |
parent | edbb895b181dc402c50273a1dcfed60cf67cad43 (diff) | |
download | bcm5719-llvm-745e57c5939e289789b9171e118b09c3c59c572a.tar.gz bcm5719-llvm-745e57c5939e289789b9171e118b09c3c59c572a.zip |
[LLDB] Fix for regression of test 'TestDataFormatterInvalidStdUniquePtr.py' introduced in r374195
Differential Revision: https://reviews.llvm.org/D68641
llvm-svn: 374231
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus')
3 files changed, 7 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp index c86ab6be644..45294e25f0f 100644 --- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp @@ -79,7 +79,9 @@ ValueObjectSP TupleFrontEnd::GetChildAtIndex(size_t idx) { m_elements[idx] = elem_sp->Clone(ConstString(llvm::formatv("[{0}]", idx).str())).get(); - return m_elements[idx]->GetSP(); + if (m_elements[idx]) + return m_elements[idx]->GetSP(); + return ValueObjectSP(); } SyntheticChildrenFrontEnd * diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp index 15bf7f8cf1d..0ac7b8f8e02 100644 --- a/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp @@ -90,7 +90,7 @@ bool LibStdcppTupleSyntheticFrontEnd::MightHaveChildren() { return true; } lldb::ValueObjectSP LibStdcppTupleSyntheticFrontEnd::GetChildAtIndex(size_t idx) { - if (idx < m_members.size()) + if (idx < m_members.size() && m_members[idx]) return m_members[idx]->GetSP(); return lldb::ValueObjectSP(); } diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp index 84f9e57015f..cceb511cdc4 100644 --- a/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp +++ b/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp @@ -118,11 +118,11 @@ bool LibStdcppUniquePtrSyntheticFrontEnd::MightHaveChildren() { return true; } lldb::ValueObjectSP LibStdcppUniquePtrSyntheticFrontEnd::GetChildAtIndex(size_t idx) { - if (idx == 0) + if (idx == 0 && m_ptr_obj) return m_ptr_obj->GetSP(); - if (idx == 1) + if (idx == 1 && m_del_obj) return m_del_obj->GetSP(); - if (idx == 2) + if (idx == 2 && m_obj_obj) return m_obj_obj->GetSP(); return lldb::ValueObjectSP(); } |