summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/API/SBValue.cpp1
-rw-r--r--lldb/source/Core/ValueObject.cpp6
-rw-r--r--lldb/source/Core/ValueObjectDynamicValue.cpp1
-rw-r--r--lldb/source/Core/ValueObjectSyntheticFilter.cpp6
4 files changed, 8 insertions, 6 deletions
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index 229eba5f5d6..2973457f0d6 100644
--- a/lldb/source/API/SBValue.cpp
+++ b/lldb/source/API/SBValue.cpp
@@ -457,6 +457,7 @@ SBValue::CreateValueFromAddress(const char* name, lldb::addr_t address, const SB
GetTarget().GetProcess().GetAddressByteSize()));
result_valobj_sp->SetName(ConstString(name));
+ result_valobj_sp->GetValue().SetValueType(Value::eValueTypeLoadAddress);
result = SBValue(result_valobj_sp);
}
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index 77ee5c14e52..b742d0b0da1 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -77,7 +77,7 @@ ValueObject::ValueObject (ValueObject &parent) :
m_deref_valobj(NULL),
m_format (eFormatDefault),
m_last_format_mgr_revision(0),
- m_last_format_mgr_dynamic(lldb::eNoDynamicValues),
+ m_last_format_mgr_dynamic(parent.m_last_format_mgr_dynamic),
m_last_summary_format(),
m_forced_summary_format(),
m_last_value_format(),
@@ -532,7 +532,7 @@ ValueObject::CreateChildAtIndex (uint32_t idx, bool synthetic_array_member, int3
const char *
ValueObject::GetSummaryAsCString ()
{
- if (UpdateValueIfNeeded (m_last_format_mgr_dynamic, true))
+ if (UpdateValueIfNeeded (true))
{
if (m_summary_str.empty())
{
@@ -788,7 +788,7 @@ const char *
ValueObject::GetObjectDescription ()
{
- if (!UpdateValueIfNeeded (m_last_format_mgr_dynamic, true))
+ if (!UpdateValueIfNeeded (true))
return NULL;
if (!m_object_desc_str.empty())
diff --git a/lldb/source/Core/ValueObjectDynamicValue.cpp b/lldb/source/Core/ValueObjectDynamicValue.cpp
index beecaa95238..f48bebd7d7e 100644
--- a/lldb/source/Core/ValueObjectDynamicValue.cpp
+++ b/lldb/source/Core/ValueObjectDynamicValue.cpp
@@ -40,6 +40,7 @@ ValueObjectDynamicValue::ValueObjectDynamicValue (ValueObject &parent, lldb::Dyn
m_type_sp(),
m_use_dynamic (use_dynamic)
{
+ m_last_format_mgr_dynamic = use_dynamic;
SetName (parent.GetName());
}
diff --git a/lldb/source/Core/ValueObjectSyntheticFilter.cpp b/lldb/source/Core/ValueObjectSyntheticFilter.cpp
index 03b9f12ab91..f48597e2e01 100644
--- a/lldb/source/Core/ValueObjectSyntheticFilter.cpp
+++ b/lldb/source/Core/ValueObjectSyntheticFilter.cpp
@@ -64,7 +64,7 @@ ValueObjectSynthetic::GetClangType ()
ConstString
ValueObjectSynthetic::GetTypeName()
{
- const bool success = UpdateValueIfNeeded();
+ const bool success = UpdateValueIfNeeded(false);
if (success && m_type_sp)
return ClangASTType::GetConstTypeName (GetClangType());
else
@@ -90,7 +90,7 @@ ValueObjectSynthetic::GetClangAST ()
size_t
ValueObjectSynthetic::GetByteSize()
{
- const bool success = UpdateValueIfNeeded();
+ const bool success = UpdateValueIfNeeded(false);
if (success && m_type_sp)
return m_value.GetValueByteSize(GetClangAST(), NULL);
else
@@ -109,7 +109,7 @@ ValueObjectSynthetic::UpdateValue ()
SetValueIsValid (false);
m_error.Clear();
- if (!m_parent->UpdateValueIfNeeded())
+ if (!m_parent->UpdateValueIfNeeded(false))
{
// our parent could not update.. as we are meaningless without a parent, just stop
if (m_error.Success() && m_parent->GetError().Fail())
OpenPOWER on IntegriCloud