Revert "Fix an issue where LLDB would run out of stack space ..."
This commit introduced an infinite recursion in
ValueObjectChild::CanUpdateWithInvalidExecutionContext (because FollowParentChain also considers
the current object), which broke nearly all the tests. Ignoring the current object removes the
recursion, but two tests still time out (TestDataFormatterLibcxxList.py and
TestValueObjectRecursion.py) for some reason. Reverting for now.
llvm-svn: 243102
diff --git a/lldb/source/Core/ValueObjectChild.cpp b/lldb/source/Core/ValueObjectChild.cpp
index 06c311f..c1e45e1 100644
--- a/lldb/source/Core/ValueObjectChild.cpp
+++ b/lldb/source/Core/ValueObjectChild.cpp
@@ -109,14 +109,12 @@
return display_name;
}
-LazyBool
+bool
ValueObjectChild::CanUpdateWithInvalidExecutionContext ()
{
- ValueObject* opinionated_ancestor = FollowParentChain([] (ValueObject* vo) -> bool {
- return (vo->CanUpdateWithInvalidExecutionContext() == eLazyBoolCalculate);
- });
-
- return opinionated_ancestor ? opinionated_ancestor->CanUpdateWithInvalidExecutionContext() : this->ValueObject::CanUpdateWithInvalidExecutionContext();
+ if (m_parent)
+ return m_parent->CanUpdateWithInvalidExecutionContext();
+ return this->ValueObject::CanUpdateWithInvalidExecutionContext();
}
bool