Store MCSymbols in PendingLabels.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 29 May 2015 17:41:59 +0000 (17:41 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 29 May 2015 17:41:59 +0000 (17:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238582 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCObjectStreamer.h
lib/MC/MCObjectStreamer.cpp

index 437e09af6b8a5e3af5f96d1d6598f42cb777f624..4cc93c95ef61120fabd5bdc510c76238fed5e32a 100644 (file)
@@ -38,7 +38,7 @@ class MCObjectStreamer : public MCStreamer {
   MCSection::iterator CurInsertionPoint;
   bool EmitEHFrame;
   bool EmitDebugFrame;
   MCSection::iterator CurInsertionPoint;
   bool EmitEHFrame;
   bool EmitDebugFrame;
-  SmallVector<MCSymbolData *, 2> PendingLabels;
+  SmallVector<MCSymbol *, 2> PendingLabels;
 
   virtual void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo&) = 0;
   void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override;
 
   virtual void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo&) = 0;
   void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override;
index 6ec4e2d8855159cb81f19426680c4d6bf3b99b2b..88cced6c2f50b5f150b0fd27cadc4276b12f091a 100644 (file)
@@ -46,7 +46,8 @@ void MCObjectStreamer::flushPendingLabels(MCFragment *F, uint64_t FOffset) {
       CurSection->getFragmentList().insert(CurInsertionPoint, F);
       F->setParent(CurSection);
     }
       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);
     }
       SD->setFragment(F);
       SD->setOffset(FOffset);
     }
@@ -174,7 +175,7 @@ void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) {
     SD.setFragment(F);
     SD.setOffset(F->getContents().size());
   } else {
     SD.setFragment(F);
     SD.setOffset(F->getContents().size());
   } else {
-    PendingLabels.push_back(&SD);
+    PendingLabels.push_back(Symbol);
   }
 }
 
   }
 }