cl::init(false));
/// Unit - Unit constructor.
-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) {
+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) {
DIEIntegerOne = new (DIEValueAllocator) DIEInteger(1);
}
DwarfCompileUnit::DwarfCompileUnit(unsigned UID, DIE *D, DICompileUnit Node,
AsmPrinter *A, DwarfDebug *DW,
DwarfFile *DWU)
- : DwarfUnit(UID, D, A, DW, DWU), Node(Node) {
+ : DwarfUnit(UID, D, Node, A, DW, DWU) {
insertDIE(Node, D);
}
DwarfTypeUnit::DwarfTypeUnit(unsigned UID, DIE *D, uint16_t Language,
AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU)
- : DwarfUnit(UID, D, A, DW, DWU), Language(Language) {}
+ : DwarfUnit(UID, D, DICompileUnit(), A, DW, DWU), Language(Language) {}
/// ~Unit - Destructor for compile unit.
DwarfUnit::~DwarfUnit() {
/// 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<DIE> UnitDie;
/// Skeleton unit associated with this unit.
DwarfUnit *Skeleton;
- DwarfUnit(unsigned UID, DIE *D, AsmPrinter *A, DwarfDebug *DW,
- DwarfFile *DWU);
+ DwarfUnit(unsigned UID, DIE *D, DICompileUnit CU, AsmPrinter *A,
+ DwarfDebug *DW, DwarfFile *DWU);
public:
virtual ~DwarfUnit();
// 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<const DIE *> &getGlobalNames() const { return GlobalNames; }
const StringMap<const DIE *> &getGlobalTypes() const { return GlobalTypes; }
};
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.