diff options
author | emaste <emaste@FreeBSD.org> | 2014-02-18 19:52:51 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2014-02-18 19:52:51 +0000 |
commit | f5e6858941423ebbd5f369ae041fdd8ae1ff404d (patch) | |
tree | 4b7112f641e225f50ba2fb8b4053a0f56c45662f /contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp | |
parent | dc56a06bc6654ce03ea11356a755fbdcae2b7608 (diff) | |
parent | 6beac4fcf9e5327f07c0fefd527180124438096a (diff) | |
download | FreeBSD-src-f5e6858941423ebbd5f369ae041fdd8ae1ff404d.zip FreeBSD-src-f5e6858941423ebbd5f369ae041fdd8ae1ff404d.tar.gz |
Update LLDB snapshot to upstream r201577
Highlights include:
- Improvements to the remote GDB protocol client
(r196610, r197579, r197857, r200072)
- Bug fixes for big-endian targets
(r196808)
- Initial support for libdispatch (GCD) queues in the debuggee
(r197190)
- Add "step-avoid-libraries" setting
(r199943)
- IO subsystem improvements (including initial work on a curses gui)
(r200263)
- Various bug fixes for memory leaks, LLDB segfaults, the C++ demangler,
ELF core files, DWARF debug info, and others.
Sponsored by: DARPA, AFRL
Diffstat (limited to 'contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp b/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp index 5c7f48b..944d6d2 100644 --- a/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp +++ b/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp @@ -403,7 +403,6 @@ ValueObjectPrinter::ShouldPrintChildren (bool is_failed_description, // Use a new temporary pointer depth in case we override the // current pointer depth below... - uint32_t curr_ptr_depth = m_ptr_depth; if (is_ptr || is_ref) { @@ -413,7 +412,7 @@ ValueObjectPrinter::ShouldPrintChildren (bool is_failed_description, if (m_valobj->GetPointerValue (&ptr_address_type) == 0) return false; - else if (is_ref && m_curr_depth == 0) + else if (is_ref && m_curr_depth == 0 && curr_ptr_depth == 0) { // If this is the root object (depth is zero) that we are showing // and it is a reference, and no pointer depth has been supplied @@ -468,7 +467,7 @@ ValueObjectPrinter::PrintChild (ValueObjectSP child_sp, ValueObjectPrinter child_printer(child_sp.get(), m_stream, child_options, - (IsPtr() || IsRef()) ? curr_ptr_depth - 1 : curr_ptr_depth, + (IsPtr() || IsRef()) && curr_ptr_depth >= 1 ? curr_ptr_depth - 1 : curr_ptr_depth, m_curr_depth + 1); child_printer.PrintValueObject(); } |