summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2014-02-18 19:52:51 +0000
committeremaste <emaste@FreeBSD.org>2014-02-18 19:52:51 +0000
commitf5e6858941423ebbd5f369ae041fdd8ae1ff404d (patch)
tree4b7112f641e225f50ba2fb8b4053a0f56c45662f /contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp
parentdc56a06bc6654ce03ea11356a755fbdcae2b7608 (diff)
parent6beac4fcf9e5327f07c0fefd527180124438096a (diff)
downloadFreeBSD-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.cpp5
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();
}
OpenPOWER on IntegriCloud