return TmpSym;
}
+DwarfUnits::~DwarfUnits() {
+ for (SmallVectorImpl<CompileUnit *>::iterator I = CUs.begin(), E = CUs.end();
+ I != E; ++I)
+ delete *I;
+}
+
MCSymbol *DwarfUnits::getStringPoolSym() {
return Asm->GetTempSymbol(StringPref);
}
// clean up.
SPMap.clear();
- for (DenseMap<const MDNode *, CompileUnit *>::iterator I = CUMap.begin(),
- E = CUMap.end();
- I != E; ++I)
- delete I->second;
-
- for (SmallVectorImpl<CompileUnit *>::iterator I = SkeletonCUs.begin(),
- E = SkeletonCUs.end();
- I != E; ++I)
- delete *I;
// Reset these for the next Module if we have one.
FirstCU = NULL;
}
SkeletonHolder.addUnit(NewCU);
- SkeletonCUs.push_back(NewCU);
return NewCU;
}
NextStringPoolNumber(0), StringPref(Pref), AddressPool(),
NextAddrPoolNumber(0) {}
+ ~DwarfUnits();
+
/// \brief Compute the size and offset of a DIE given an incoming Offset.
unsigned computeSizeAndOffset(DIE *Die, unsigned Offset);
// original object file, rather than things that are meant
// to be in the .dwo sections.
- // The CUs left in the original object file for separated debug info.
- SmallVector<CompileUnit *, 1> SkeletonCUs;
-
// Used to uniquely define abbreviations for the skeleton emission.
FoldingSet<DIEAbbrev> SkeletonAbbrevSet;