MCDwarf: Extract the DWARF line table header handling into its own type

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203856 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie committed 2014-03-13 21:47:12 +00:00
1 parent 303d39f1c4
commit 91d5586086
2 files changed
+34 -20

No files matched your search

+13 -3
View File
@@ -224,11 +224,9 @@ const MCSymbol *MCDwarfFileTable::Emit(MCStreamer *MCOS) {
return LineStartSym;
}
const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const {
std::pair<MCSymbol *, MCSymbol *> MCDwarfLineTableHeader::Emit(MCStreamer *MCOS) const {
MCContext &context = MCOS->getContext();
// Create a symbol at the beginning of the line table.
MCSymbol *LineStartSym = Label;
if (!LineStartSym)
@@ -302,6 +300,14 @@ const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const {
// end of the prologue (that was used in a previous expression).
MCOS->EmitLabel(ProEndSym);
return std::make_pair(LineStartSym, LineEndSym);
}
const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const {
MCSymbol *LineStartSym;
MCSymbol *LineEndSym;
std::tie(LineStartSym, LineEndSym) = Header.Emit(MCOS);
// Put out the line tables.
for (const auto &LineSec : MCLineSections.getMCLineEntries())
EmitDwarfLineTable(MCOS, LineSec.first, LineSec.second);
@@ -326,6 +332,10 @@ const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const {
}
unsigned MCDwarfFileTable::getFile(StringRef Directory, StringRef FileName, unsigned FileNumber) {
return Header.getFile(Directory, FileName, FileNumber);
}
unsigned MCDwarfLineTableHeader::getFile(StringRef Directory, StringRef FileName, unsigned FileNumber) {
// Make space for this FileNumber in the MCDwarfFiles vector if needed.
MCDwarfFiles.resize(FileNumber + 1);