summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol/SymbolContext.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2013-02-23 04:12:47 +0000
committerGreg Clayton <gclayton@apple.com>2013-02-23 04:12:47 +0000
commit72310355ff64de112fcdd9e39297ddf377c9257e (patch)
treeee4661bcac945175ee8db7e5ec2114b2b5321b13 /lldb/source/Symbol/SymbolContext.cpp
parent6fcb39e0f06b0ee9e4632c38f78fe34af8af59ee (diff)
downloadbcm5719-llvm-72310355ff64de112fcdd9e39297ddf377c9257e.tar.gz
bcm5719-llvm-72310355ff64de112fcdd9e39297ddf377c9257e.zip
<rdar://problem/13265297>
StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Modified all existing code to properly set the bool argument. llvm-svn: 175953
Diffstat (limited to 'lldb/source/Symbol/SymbolContext.cpp')
-rw-r--r--lldb/source/Symbol/SymbolContext.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lldb/source/Symbol/SymbolContext.cpp b/lldb/source/Symbol/SymbolContext.cpp
index b3d9748a256..b4b777b52ff 100644
--- a/lldb/source/Symbol/SymbolContext.cpp
+++ b/lldb/source/Symbol/SymbolContext.cpp
@@ -108,9 +108,10 @@ SymbolContext::operator= (const SymbolContext& rhs)
}
void
-SymbolContext::Clear()
+SymbolContext::Clear(bool clear_target)
{
- target_sp.reset();
+ if (clear_target)
+ target_sp.reset();
module_sp.reset();
comp_unit = NULL;
function = NULL;
@@ -453,7 +454,7 @@ SymbolContext::GetParentOfInlinedScope (const Address &curr_frame_pc,
SymbolContext &next_frame_sc,
Address &next_frame_pc) const
{
- next_frame_sc.Clear();
+ next_frame_sc.Clear(false);
next_frame_pc.Clear();
if (block)
OpenPOWER on IntegriCloud