summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/ValueObjectDynamicValue.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2012-11-27 23:28:32 +0000
committerEnrico Granata <egranata@apple.com>2012-11-27 23:28:32 +0000
commitbd83b87d72513d6911150a46c9a8c84fb0c155c3 (patch)
treebd414104d30e4044e8ab50307dbe8e96d3317ce5 /lldb/source/Core/ValueObjectDynamicValue.cpp
parent5092c73187627acb2a5f8374afb4474af1c94609 (diff)
downloadbcm5719-llvm-bd83b87d72513d6911150a46c9a8c84fb0c155c3.tar.gz
bcm5719-llvm-bd83b87d72513d6911150a46c9a8c84fb0c155c3.zip
<rdar://problem/12754509>
Make sure that ValueObjectDynamicValue clears itself when no dynamic type information can be found This behavior was supposed to be already happening (as per the comment lines) llvm-svn: 168743
Diffstat (limited to 'lldb/source/Core/ValueObjectDynamicValue.cpp')
-rw-r--r--lldb/source/Core/ValueObjectDynamicValue.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lldb/source/Core/ValueObjectDynamicValue.cpp b/lldb/source/Core/ValueObjectDynamicValue.cpp
index 2b5c605dee6..4e038c55f38 100644
--- a/lldb/source/Core/ValueObjectDynamicValue.cpp
+++ b/lldb/source/Core/ValueObjectDynamicValue.cpp
@@ -176,8 +176,9 @@ ValueObjectDynamicValue::UpdateValue ()
// Or we could return false, and make ourselves an echo of our parent?
if (!found_dynamic_type)
{
- if (m_type_sp)
- SetValueDidChange(true);
+ ClearDynamicTypeInformation();
+ m_type_sp.reset();
+ SetValueDidChange(true);
m_value = m_parent->GetValue();
m_error = m_value.GetValueAsData (&exe_ctx, GetClangAST(), m_data, 0, GetModule().get());
return m_error.Success();
OpenPOWER on IntegriCloud