Store MCSymbols in PendingLabels.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238582 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2015-05-29 17:41:59 +00:00
parent 28afbf2421
commit 052a7becbe
2 changed files with 4 additions and 3 deletions

View File

@@ -38,7 +38,7 @@ class MCObjectStreamer : public MCStreamer {
MCSection::iterator CurInsertionPoint; MCSection::iterator CurInsertionPoint;
bool EmitEHFrame; bool EmitEHFrame;
bool EmitDebugFrame; bool EmitDebugFrame;
SmallVector<MCSymbolData *, 2> PendingLabels; SmallVector<MCSymbol *, 2> PendingLabels;
virtual void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo&) = 0; virtual void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo&) = 0;
void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override; void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override;

View File

@@ -46,7 +46,8 @@ void MCObjectStreamer::flushPendingLabels(MCFragment *F, uint64_t FOffset) {
CurSection->getFragmentList().insert(CurInsertionPoint, F); CurSection->getFragmentList().insert(CurInsertionPoint, F);
F->setParent(CurSection); F->setParent(CurSection);
} }
for (MCSymbolData *SD : PendingLabels) { for (MCSymbol *Sym : PendingLabels) {
MCSymbolData *SD = &Sym->getData();
SD->setFragment(F); SD->setFragment(F);
SD->setOffset(FOffset); SD->setOffset(FOffset);
} }
@@ -174,7 +175,7 @@ void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) {
SD.setFragment(F); SD.setFragment(F);
SD.setOffset(F->getContents().size()); SD.setOffset(F->getContents().size());
} else { } else {
PendingLabels.push_back(&SD); PendingLabels.push_back(Symbol);
} }
} }