diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index 8df9c3b05cd..ed631b78fca 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -40,23 +40,23 @@ GenerateDwarfTypeUnits("generate-type-units", cl::Hidden, cl::init(false)); /// Unit - Unit constructor. -DwarfUnit::DwarfUnit(unsigned UID, DIE *D, DICompileUnit Node, AsmPrinter *A, - DwarfDebug *DW, DwarfFile *DWU) - : UniqueID(UID), Node(Node), UnitDie(D), DebugInfoOffset(0), Asm(A), DD(DW), - DU(DWU), IndexTyDie(0), Section(0), Skeleton(0) { +DwarfUnit::DwarfUnit(unsigned UID, DIE *D, AsmPrinter *A, DwarfDebug *DW, + DwarfFile *DWU) + : UniqueID(UID), UnitDie(D), DebugInfoOffset(0), Asm(A), DD(DW), DU(DWU), + IndexTyDie(0), Section(0), Skeleton(0) { DIEIntegerOne = new (DIEValueAllocator) DIEInteger(1); } DwarfCompileUnit::DwarfCompileUnit(unsigned UID, DIE *D, DICompileUnit Node, AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU) - : DwarfUnit(UID, D, Node, A, DW, DWU) { + : DwarfUnit(UID, D, A, DW, DWU), Node(Node) { insertDIE(Node, D); } DwarfTypeUnit::DwarfTypeUnit(unsigned UID, DIE *D, uint16_t Language, AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU) - : DwarfUnit(UID, D, DICompileUnit(), A, DW, DWU), Language(Language) {} + : DwarfUnit(UID, D, A, DW, DWU), Language(Language) {} /// ~Unit - Destructor for compile unit. DwarfUnit::~DwarfUnit() { diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.h b/lib/CodeGen/AsmPrinter/DwarfUnit.h index 524cdc1b59f..cba15fc9a82 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.h @@ -65,9 +65,6 @@ protected: /// UniqueID - a numeric ID unique among all CUs in the module unsigned UniqueID; - /// Node - MDNode for the compile unit. - DICompileUnit Node; - /// Unit debug information entry. const OwningPtr UnitDie; @@ -149,8 +146,8 @@ protected: /// Skeleton unit associated with this unit. DwarfUnit *Skeleton; - DwarfUnit(unsigned UID, DIE *D, DICompileUnit CU, AsmPrinter *A, - DwarfDebug *DW, DwarfFile *DWU); + DwarfUnit(unsigned UID, DIE *D, AsmPrinter *A, DwarfDebug *DW, + DwarfFile *DWU); public: virtual ~DwarfUnit(); @@ -219,7 +216,6 @@ public: // Accessors. unsigned getUniqueID() const { return UniqueID; } virtual uint16_t getLanguage() const = 0; - DICompileUnit getNode() const { return Node; } DIE *getUnitDie() const { return UnitDie.get(); } const StringMap &getGlobalNames() const { return GlobalNames; } const StringMap &getGlobalTypes() const { return GlobalTypes; } @@ -534,9 +530,13 @@ private: }; class DwarfCompileUnit : public DwarfUnit { + /// Node - MDNode for the compile unit. + DICompileUnit Node; + public: DwarfCompileUnit(unsigned UID, DIE *D, DICompileUnit Node, AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU); + DICompileUnit getNode() const { return Node; } virtual ~DwarfCompileUnit() LLVM_OVERRIDE; /// createGlobalVariableDIE - create global variable DIE.