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. llvm-svn: 119020
This commit is contained in:
parent
d7e054694e
commit
32d2a48369
|
|
@ -537,17 +537,20 @@ lldb_private::Type::ResolveClangType (ResolveState clang_type_resolve_state)
|
|||
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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue