forked from OSchip/llvm-project
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
This commit is contained in:
parent
47ce74649f
commit
f8b5874b63
|
@ -861,7 +861,7 @@ public:
|
|||
bool
|
||||
NeedsUpdating ()
|
||||
{
|
||||
const bool accept_invalid_exe_ctx = (CanUpdateWithInvalidExecutionContext() == eLazyBoolYes);
|
||||
const bool accept_invalid_exe_ctx = CanUpdateWithInvalidExecutionContext();
|
||||
return m_update_point.NeedsUpdating(accept_invalid_exe_ctx);
|
||||
}
|
||||
|
||||
|
@ -1172,10 +1172,10 @@ protected:
|
|||
virtual bool
|
||||
UpdateValue () = 0;
|
||||
|
||||
virtual LazyBool
|
||||
virtual bool
|
||||
CanUpdateWithInvalidExecutionContext ()
|
||||
{
|
||||
return eLazyBoolCalculate;
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual void
|
||||
|
|
|
@ -84,7 +84,7 @@ protected:
|
|||
virtual bool
|
||||
UpdateValue ();
|
||||
|
||||
virtual LazyBool
|
||||
virtual bool
|
||||
CanUpdateWithInvalidExecutionContext ();
|
||||
|
||||
virtual ClangASTType
|
||||
|
|
|
@ -109,10 +109,10 @@ protected:
|
|||
virtual bool
|
||||
UpdateValue ();
|
||||
|
||||
virtual LazyBool
|
||||
virtual bool
|
||||
CanUpdateWithInvalidExecutionContext ()
|
||||
{
|
||||
return eLazyBoolYes;
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual lldb::DynamicValueType
|
||||
|
|
|
@ -156,10 +156,10 @@ protected:
|
|||
virtual bool
|
||||
UpdateValue ();
|
||||
|
||||
virtual LazyBool
|
||||
virtual bool
|
||||
CanUpdateWithInvalidExecutionContext ()
|
||||
{
|
||||
return eLazyBoolYes;
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual ClangASTType
|
||||
|
|
|
@ -109,14 +109,12 @@ ValueObjectChild::GetDisplayTypeName()
|
|||
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
|
||||
|
|
Loading…
Reference in New Issue