Some code that is sanity checking stepping out back out from one inlined

frame to another was triggering an early stop when stepping back out to a
real frame.  Check that we're doing this only for inlined frames.

<rdar://problem/26482931>

llvm-svn: 277185
This commit is contained in:
Jim Ingham 2016-07-29 18:09:12 +00:00
parent 69c2ba546f
commit 7766c4a883
1 changed files with 6 additions and 0 deletions

View File

@ -118,6 +118,12 @@ ThreadPlanStepOverRange::IsEquivalentContext(const SymbolContext &context)
{
if (m_addr_context.function && m_addr_context.function == context.function)
{
// It is okay to return to a different block of a straight function, we only have to
// be more careful if returning from one inlined block to another.
if (m_addr_context.block->GetInlinedFunctionInfo() == nullptr
&& context.block->GetInlinedFunctionInfo() == nullptr)
return true;
if (m_addr_context.block && m_addr_context.block == context.block)
return true;
}