Don't crash when we can't find a block for some reason, just try and do the right thing and fail gracefully.
<rdar://problem/19196221> llvm-svn: 226087
This commit is contained in:
parent
dd669615dd
commit
f7bb1fba36
|
|
@ -3485,9 +3485,11 @@ SymbolFileDWARF::ResolveFunction (DWARFCompileUnit *cu,
|
||||||
// Parse all blocks if needed
|
// Parse all blocks if needed
|
||||||
if (inlined_die)
|
if (inlined_die)
|
||||||
{
|
{
|
||||||
sc.block = sc.function->GetBlock (true).FindBlockByID (MakeUserID(inlined_die->GetOffset()));
|
Block &function_block = sc.function->GetBlock (true);
|
||||||
assert (sc.block != NULL);
|
sc.block = function_block.FindBlockByID (MakeUserID(inlined_die->GetOffset()));
|
||||||
if (sc.block->GetStartAddress (addr) == false)
|
if (sc.block == NULL)
|
||||||
|
sc.block = function_block.FindBlockByID (inlined_die->GetOffset());
|
||||||
|
if (sc.block == NULL || sc.block->GetStartAddress (addr) == false)
|
||||||
addr.Clear();
|
addr.Clear();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue