Debugger: Reorder unit finishing.

Type units need to be finished before compilation units to ensure that e.g.
modified types have their base types already set by the time we get to
compilation unit attributes.
This commit is contained in:
Rene Gollent
2013-07-18 21:37:01 -04:00
parent d087b9ca15
commit fe07d32c75
+6 -6
View File
@@ -575,16 +575,16 @@ DwarfFile::FinishLoading()
return fFinishError;
status_t error;
for (int32 i = 0; CompilationUnit* unit = fCompilationUnits.ItemAt(i);
i++) {
error = _FinishUnit(unit);
for (TypeUnitTable::Iterator it = fTypeUnits.GetIterator();
TypeUnitTableEntry* entry = it.Next();) {
error = _FinishUnit(entry->unit);
if (error != B_OK)
return fFinishError = error;
}
for (TypeUnitTable::Iterator it = fTypeUnits.GetIterator();
TypeUnitTableEntry* entry = it.Next();) {
error = _FinishUnit(entry->unit);
for (int32 i = 0; CompilationUnit* unit = fCompilationUnits.ItemAt(i);
i++) {
error = _FinishUnit(unit);
if (error != B_OK)
return fFinishError = error;
}