[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