diff options
Diffstat (limited to 'lldb/source/Symbol/Block.cpp')
-rw-r--r-- | lldb/source/Symbol/Block.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lldb/source/Symbol/Block.cpp b/lldb/source/Symbol/Block.cpp index d1e4d401498..6676279dabf 100644 --- a/lldb/source/Symbol/Block.cpp +++ b/lldb/source/Symbol/Block.cpp @@ -367,7 +367,7 @@ Block::GetRangeContainingOffset (const addr_t offset, VMRange &range) bool -Block::GetRangeContainingAddress (const Address& addr, AddressRange &range) +Block::GetRangeContainingAddress (const Address& addr, AddressRange &range, uint32_t *range_idx_ptr) { Function *function = CalculateSymbolContextFunction(); if (function) @@ -387,11 +387,15 @@ Block::GetRangeContainingAddress (const Address& addr, AddressRange &range) range.GetBaseAddress() = func_range.GetBaseAddress(); range.GetBaseAddress().SetOffset(func_offset + m_ranges[range_idx].GetBaseAddress()); range.SetByteSize(m_ranges[range_idx].GetByteSize()); + if (range_idx_ptr) + *range_idx_ptr = range_idx; return true; } } } } + if (range_idx_ptr) + *range_idx_ptr = UINT32_MAX; range.Clear(); return false; } |