[Lldb-commits] [lldb] r147914 - /lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Jim Ingham
jingham at apple.com
Tue Jan 10 18:21:12 PST 2012
Author: jingham
Date: Tue Jan 10 20:21:12 2012
New Revision: 147914
URL: http://llvm.org/viewvc/llvm-project?rev=147914&view=rev
Log:
Don't assert but report & return a NULL type if we end up parsing a type we are in the middle of parsing.
Modified:
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp?rev=147914&r1=147913&r2=147914&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Tue Jan 10 20:21:12 2012
@@ -1916,8 +1916,18 @@
type = GetTypeForDIE (curr_cu, type_die).get();
if (assert_not_being_parsed)
- assert (type != DIE_IS_BEING_PARSED);
- return type;
+ {
+ if (type != DIE_IS_BEING_PARSED)
+ return type;
+
+ GetObjectFile()->GetModule()->ReportError ("Parsing a die that is being parsed die: 0x%8.8x: %s %s",
+ type_die->GetOffset(),
+ DW_TAG_value_to_name(type_die->Tag()),
+ type_die->GetName(this, curr_cu));
+
+ }
+ else
+ return type;
}
return NULL;
}
More information about the lldb-commits
mailing list