From 15ec085c40cf45726a5c8925706795b52fd231bd Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Wed, 14 Sep 2011 00:15:32 +0000 Subject: DebugInfo: Don't print DIEs multiple times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139671 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/DebugInfo/DWARFCompileUnit.cpp | 3 +-- lib/DebugInfo/DWARFDebugInfoEntry.cpp | 4 +--- lib/DebugInfo/DWARFDebugInfoEntry.h | 3 +++ 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/DebugInfo') diff --git a/lib/DebugInfo/DWARFCompileUnit.cpp b/lib/DebugInfo/DWARFCompileUnit.cpp index 389de9d..224ae92 100644 --- a/lib/DebugInfo/DWARFCompileUnit.cpp +++ b/lib/DebugInfo/DWARFCompileUnit.cpp @@ -95,8 +95,7 @@ void DWARFCompileUnit::dump(raw_ostream &OS) { << ")\n"; extractDIEsIfNeeded(false); - for (unsigned i = 0, e = DieArray.size(); i != e; ++i) - DieArray[i].dump(OS, this, 10); + DieArray[0].dump(OS, this, -1U); } void DWARFCompileUnit::setDIERelations() { diff --git a/lib/DebugInfo/DWARFDebugInfoEntry.cpp b/lib/DebugInfo/DWARFDebugInfoEntry.cpp index bfe89dd..6923f6c 100644 --- a/lib/DebugInfo/DWARFDebugInfoEntry.cpp +++ b/lib/DebugInfo/DWARFDebugInfoEntry.cpp @@ -45,12 +45,10 @@ void DWARFDebugInfoEntryMinimal::dump(raw_ostream &OS, const DWARFDebugInfoEntryMinimal *child = getFirstChild(); if (recurseDepth > 0 && child) { - indent += 2; while (child) { - child->dump(OS, cu, recurseDepth-1, indent); + child->dump(OS, cu, recurseDepth-1, indent+2); child = child->getSibling(); } - indent -= 2; } } else { OS << "Abbreviation code not found in 'debug_abbrev' class for code: " diff --git a/lib/DebugInfo/DWARFDebugInfoEntry.h b/lib/DebugInfo/DWARFDebugInfoEntry.h index 0b0a00c..5e7b89b 100644 --- a/lib/DebugInfo/DWARFDebugInfoEntry.h +++ b/lib/DebugInfo/DWARFDebugInfoEntry.h @@ -33,6 +33,9 @@ class DWARFDebugInfoEntryMinimal { const DWARFAbbreviationDeclaration *AbbrevDecl; public: + DWARFDebugInfoEntryMinimal() + : Offset(0), ParentIdx(0), SiblingIdx(0), AbbrevDecl(0) {} + void dump(raw_ostream &OS, const DWARFCompileUnit *cu, unsigned recurseDepth, unsigned indent = 0) const; void dumpAttribute(raw_ostream &OS, const DWARFCompileUnit *cu, -- cgit v1.1