: CU(CU), EntryOffset(EntryOffset) {}
};
struct Entry {
- const MCSymbol *BeginSym;
- const MCSymbol *EndSym;
+ const MCSymbol *Begin;
+ const MCSymbol *End;
size_t ByteOffset;
size_t CommentOffset;
- Entry(const MCSymbol *BeginSym, const MCSymbol *EndSym, size_t ByteOffset,
- size_t CommentOffset)
- : BeginSym(BeginSym), EndSym(EndSym), ByteOffset(ByteOffset),
- CommentOffset(CommentOffset) {}
};
private:
/// Until the next call, bytes added to the stream will be added to this
/// entry.
void startEntry(const MCSymbol *BeginSym, const MCSymbol *EndSym) {
- Entries.emplace_back(BeginSym, EndSym, DWARFBytes.size(), Comments.size());
+ Entries.push_back({BeginSym, EndSym, DWARFBytes.size(), Comments.size()});
}
/// Finalize a .debug_loc entry, deleting if it's empty.
Asm->OutStreamer->AddComment("DW_LLE_offset_pair");
Asm->OutStreamer->EmitIntValue(dwarf::DW_LLE_offset_pair, 1);
Asm->OutStreamer->AddComment(" starting offset");
- Asm->EmitLabelDifferenceAsULEB128(Entry.BeginSym, Base);
+ Asm->EmitLabelDifferenceAsULEB128(Entry.Begin, Base);
Asm->OutStreamer->AddComment(" ending offset");
- Asm->EmitLabelDifferenceAsULEB128(Entry.EndSym, Base);
+ Asm->EmitLabelDifferenceAsULEB128(Entry.End, Base);
} else {
- Asm->EmitLabelDifference(Entry.BeginSym, Base, Size);
- Asm->EmitLabelDifference(Entry.EndSym, Base, Size);
+ Asm->EmitLabelDifference(Entry.Begin, Base, Size);
+ Asm->EmitLabelDifference(Entry.End, Base, Size);
}
emitDebugLocEntryLocation(Entry, CU);
Asm->OutStreamer->AddComment("DW_LLE_startx_length");
Asm->emitInt8(dwarf::DW_LLE_startx_length);
Asm->OutStreamer->AddComment(" start idx");
- Asm->EmitULEB128(AddrPool.getIndex(Entry.BeginSym));
+ Asm->EmitULEB128(AddrPool.getIndex(Entry.Begin));
Asm->OutStreamer->AddComment(" length");
- Asm->EmitLabelDifferenceAsULEB128(Entry.EndSym, Entry.BeginSym);
+ Asm->EmitLabelDifferenceAsULEB128(Entry.End, Entry.Begin);
} else {
- Asm->OutStreamer->EmitSymbolValue(Entry.BeginSym, Size);
- Asm->OutStreamer->EmitSymbolValue(Entry.EndSym, Size);
+ Asm->OutStreamer->EmitSymbolValue(Entry.Begin, Size);
+ Asm->OutStreamer->EmitSymbolValue(Entry.End, Size);
}
emitDebugLocEntryLocation(Entry, CU);
// Ideally/in v5, this could use SectionLabels to reuse existing addresses
// in the address pool to minimize object size/relocations.
Asm->emitInt8(dwarf::DW_LLE_startx_length);
- unsigned idx = AddrPool.getIndex(Entry.BeginSym);
+ unsigned idx = AddrPool.getIndex(Entry.Begin);
Asm->EmitULEB128(idx);
- Asm->EmitLabelDifference(Entry.EndSym, Entry.BeginSym, 4);
+ Asm->EmitLabelDifference(Entry.End, Entry.Begin, 4);
emitDebugLocEntryLocation(Entry, List.CU);
}