diff options
-rw-r--r-- | lldb/source/API/SBValue.cpp | 1 | ||||
-rw-r--r-- | lldb/source/Core/ValueObject.cpp | 6 | ||||
-rw-r--r-- | lldb/source/Core/ValueObjectDynamicValue.cpp | 1 | ||||
-rw-r--r-- | lldb/source/Core/ValueObjectSyntheticFilter.cpp | 6 |
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()) |