[Lldb-commits] [lldb] r119020 - /lldb/trunk/source/Symbol/Type.cpp
Greg Clayton
gclayton at apple.com
Sat Nov 13 17:03:55 PST 2010
Author: gclayton
Date: Sat Nov 13 19:03:55 2010
New Revision: 119020
URL: http://llvm.org/viewvc/llvm-project?rev=119020&view=rev
Log:
Fixed an issue where we were trying to resolve lldb_private::Type encoding
types to their full definitions more than we needed to. This caused an assertion
in the DWARF parser to fire -- which is an indication that we are parsing too much.
Modified:
lldb/trunk/source/Symbol/Type.cpp
Modified: lldb/trunk/source/Symbol/Type.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Type.cpp?rev=119020&r1=119019&r2=119020&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/Type.cpp (original)
+++ lldb/trunk/source/Symbol/Type.cpp Sat Nov 13 19:03:55 2010
@@ -537,17 +537,20 @@
encoding_type = GetEncodingType();
if (encoding_type)
{
- ResolveState encoding_clang_type_resolve_state = eResolveStateFull;
- switch (m_encoding_uid_type)
+ ResolveState encoding_clang_type_resolve_state = clang_type_resolve_state;
+
+ if (clang_type_resolve_state == eResolveStateLayout)
{
- case eEncodingIsPointerUID:
- case eEncodingIsLValueReferenceUID:
- case eEncodingIsRValueReferenceUID:
- if (clang_type_resolve_state == eResolveStateLayout)
+ switch (m_encoding_uid_type)
+ {
+ case eEncodingIsPointerUID:
+ case eEncodingIsLValueReferenceUID:
+ case eEncodingIsRValueReferenceUID:
encoding_clang_type_resolve_state = eResolveStateForward;
- break;
- default:
- break;
+ break;
+ default:
+ break;
+ }
}
encoding_type->ResolveClangType (encoding_clang_type_resolve_state);
}
More information about the lldb-commits
mailing list