From 66ccf49a0c50fe155d635dcfdf074ae9bc64819b Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 29 May 2015 17:41:59 +0000 Subject: [PATCH] Store MCSymbols in PendingLabels. llvm-svn: 238582 --- llvm/include/llvm/MC/MCObjectStreamer.h | 2 +- llvm/lib/MC/MCObjectStreamer.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/llvm/include/llvm/MC/MCObjectStreamer.h b/llvm/include/llvm/MC/MCObjectStreamer.h index 437e09a..4cc93c9 100644 --- a/llvm/include/llvm/MC/MCObjectStreamer.h +++ b/llvm/include/llvm/MC/MCObjectStreamer.h @@ -38,7 +38,7 @@ class MCObjectStreamer : public MCStreamer { MCSection::iterator CurInsertionPoint; bool EmitEHFrame; bool EmitDebugFrame; - SmallVector PendingLabels; + SmallVector PendingLabels; virtual void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo&) = 0; void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override; diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 6ec4e2d..88cced6 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -46,7 +46,8 @@ void MCObjectStreamer::flushPendingLabels(MCFragment *F, uint64_t FOffset) { CurSection->getFragmentList().insert(CurInsertionPoint, F); F->setParent(CurSection); } - for (MCSymbolData *SD : PendingLabels) { + for (MCSymbol *Sym : PendingLabels) { + MCSymbolData *SD = &Sym->getData(); SD->setFragment(F); SD->setOffset(FOffset); } @@ -174,7 +175,7 @@ void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) { SD.setFragment(F); SD.setOffset(F->getContents().size()); } else { - PendingLabels.push_back(&SD); + PendingLabels.push_back(Symbol); } } -- 2.7.4