Author: enrico
Date: Wed Apr 9 16:06:11 2014
New Revision: 205928
URL: http://llvm.org/viewvc/llvm-project?rev=205928&view=rev
Log:
<rdar://problem/16477472>
Set the correct FormatManager revision before starting to figure out the new
formatters
This can avoid entering some corner cases where as part of figuring out
formatters we try to figure out dynamic types, and in turn that causes us to go
back in trying to fetch new formatters - it is not only a futile exercise, it's
also prone to endless recursion
This would only cause a behavior change if getting this chain started would
eventually cause something to run and alter the formatters, a very unlikely if
at all possible sequence of events
Modified:
lldb/trunk/source/Core/ValueObject.cpp
Modified: lldb/trunk/source/Core/ValueObject.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=205928&r1=205927&r2=205928&view=diff
==============================================================================
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Wed Apr 9 16:06:11 2014
@@ -245,15 +245,14 @@ ValueObject::UpdateFormatsIfNeeded()
if ( (m_last_format_mgr_revision !=
DataVisualization::GetCurrentRevision()))
{
+ m_last_format_mgr_revision = DataVisualization::GetCurrentRevision();
+ any_change = true;
+
SetValueFormat(DataVisualization::GetFormat (*this, eNoDynamicValues));
SetSummaryFormat(DataVisualization::GetSummaryFormat (*this,
GetDynamicValueType()));
#ifndef LLDB_DISABLE_PYTHON
SetSyntheticChildren(DataVisualization::GetSyntheticChildren (*this,
GetDynamicValueType()));
#endif
-
- m_last_format_mgr_revision = DataVisualization::GetCurrentRevision();
-
- any_change = true;
}
return any_change;
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits