<div dir="ltr">Yay!<div><br></div><div>Thank you for cleaning up,</div><div><br></div><div>  Filipe</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">  F<br></div></div>
<br><div class="gmail_quote">On Wed, May 27, 2015 at 8:14 AM, Rafael Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rafael<br>
Date: Wed May 27 10:14:11 2015<br>
New Revision: 238331<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D238331-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=8oh4PD_5yy7hosqnawVGWSb_5K4XYo7RnkwYPVzrh8E&e=" target="_blank">http://llvm.org/viewvc/llvm-project?rev=238331&view=rev</a><br>
Log:<br>
Delete MCSectionData.<br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/MC/MCObjectStreamer.h<br>
    llvm/trunk/include/llvm/MC/MCSection.h<br>
    llvm/trunk/lib/MC/ELFObjectWriter.cpp<br>
    llvm/trunk/lib/MC/MCAssembler.cpp<br>
    llvm/trunk/lib/MC/MCMachOStreamer.cpp<br>
    llvm/trunk/lib/MC/MCObjectStreamer.cpp<br>
    llvm/trunk/lib/MC/MCSection.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/MC/MCObjectStreamer.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm_MC_MCObjectStreamer.h-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=E8iMtSEhoTSeCBRV6T0C_fSpUPgA5_hnXcwD1seUDAQ&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCObjectStreamer.h?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/MC/MCObjectStreamer.h (original)<br>
+++ llvm/trunk/include/llvm/MC/MCObjectStreamer.h Wed May 27 10:14:11 2015<br>
@@ -36,7 +36,7 @@ class raw_pwrite_stream;<br>
 class MCObjectStreamer : public MCStreamer {<br>
   MCAssembler *Assembler;<br>
   MCSection *CurSectionData;<br>
-  MCSectionData::iterator CurInsertionPoint;<br>
+  MCSection::iterator CurInsertionPoint;<br>
   bool EmitEHFrame;<br>
   bool EmitDebugFrame;<br>
   SmallVector<MCSymbolData *, 2> PendingLabels;<br>
<br>
Modified: llvm/trunk/include/llvm/MC/MCSection.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm_MC_MCSection.h-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=zoEEM9wTxzGcwcVkkpr37aFhI49ZJ8krdQVPdtuiZ1c&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCSection.h?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/MC/MCSection.h (original)<br>
+++ llvm/trunk/include/llvm/MC/MCSection.h Wed May 27 10:14:11 2015<br>
@@ -31,73 +31,6 @@ class MCSection;<br>
 class MCSymbol;<br>
 class raw_ostream;<br>
<br>
-class MCSectionData {<br>
-  friend class MCAsmLayout;<br>
-  friend class MCSection;<br>
-<br>
-  MCSectionData(const MCSectionData &) = delete;<br>
-  void operator=(const MCSectionData &) = delete;<br>
-<br>
-public:<br>
-  typedef iplist<MCFragment> FragmentListType;<br>
-<br>
-  typedef FragmentListType::const_iterator const_iterator;<br>
-  typedef FragmentListType::iterator iterator;<br>
-<br>
-  typedef FragmentListType::const_reverse_iterator const_reverse_iterator;<br>
-  typedef FragmentListType::reverse_iterator reverse_iterator;<br>
-<br>
-private:<br>
-  FragmentListType Fragments;<br>
-  MCSection *Section;<br>
-<br>
-  /// \name Assembler Backend Data<br>
-  /// @{<br>
-  //<br>
-  // FIXME: This could all be kept private to the assembler implementation.<br>
-<br>
-  /// Mapping from subsection number to insertion point for subsection numbers<br>
-  /// below that number.<br>
-  SmallVector<std::pair<unsigned, MCFragment *>, 1> SubsectionFragmentMap;<br>
-<br>
-  /// @}<br>
-<br>
-public:<br>
-  explicit MCSectionData(MCSection &Section);<br>
-<br>
-  MCSection &getSection() const { return *Section; }<br>
-<br>
-  /// \name Fragment Access<br>
-  /// @{<br>
-<br>
-  const FragmentListType &getFragmentList() const { return Fragments; }<br>
-  FragmentListType &getFragmentList() { return Fragments; }<br>
-<br>
-  iterator begin();<br>
-  const_iterator begin() const {<br>
-    return const_cast<MCSectionData *>(this)->begin();<br>
-  }<br>
-<br>
-  iterator end();<br>
-  const_iterator end() const {<br>
-    return const_cast<MCSectionData *>(this)->end();<br>
-  }<br>
-<br>
-  reverse_iterator rbegin();<br>
-  const_reverse_iterator rbegin() const {<br>
-    return const_cast<MCSectionData *>(this)->rbegin();<br>
-  }<br>
-<br>
-  reverse_iterator rend();<br>
-  const_reverse_iterator rend() const {<br>
-    return const_cast<MCSectionData *>(this)->rend();<br>
-  }<br>
-<br>
-  void dump();<br>
-<br>
-  /// @}<br>
-};<br>
-<br>
 /// Instances of this class represent a uniqued identifier for a section in the<br>
 /// current translation unit.  The MCContext class uniques and creates these.<br>
 class MCSection {<br>
@@ -111,6 +44,14 @@ public:<br>
     BundleLockedAlignToEnd<br>
   };<br>
<br>
+  typedef iplist<MCFragment> FragmentListType;<br>
+<br>
+  typedef FragmentListType::const_iterator const_iterator;<br>
+  typedef FragmentListType::iterator iterator;<br>
+<br>
+  typedef FragmentListType::const_reverse_iterator const_reverse_iterator;<br>
+  typedef FragmentListType::reverse_iterator reverse_iterator;<br>
+<br>
 private:<br>
   MCSection(const MCSection &) = delete;<br>
   void operator=(const MCSection &) = delete;<br>
@@ -137,7 +78,11 @@ private:<br>
   /// Whether this section has had instructions emitted into it.<br>
   unsigned HasInstructions : 1;<br>
<br>
-  MCSectionData Data;<br>
+  FragmentListType Fragments;<br>
+<br>
+  /// Mapping from subsection number to insertion point for subsection numbers<br>
+  /// below that number.<br>
+  SmallVector<std::pair<unsigned, MCFragment *>, 1> SubsectionFragmentMap;<br>
<br>
 protected:<br>
   MCSection(SectionVariant V, SectionKind K, MCSymbol *Begin);<br>
@@ -185,37 +130,34 @@ public:<br>
   bool hasInstructions() const { return HasInstructions; }<br>
   void setHasInstructions(bool Value) { HasInstructions = Value; }<br>
<br>
-  MCSectionData &getSectionData() { return Data; }<br>
-  const MCSectionData &getSectionData() const {<br>
-    return const_cast<MCSection *>(this)->getSectionData();<br>
-  }<br>
-<br>
-  MCSectionData::FragmentListType &getFragmentList();<br>
-  const MCSectionData::FragmentListType &getFragmentList() const {<br>
+  MCSection::FragmentListType &getFragmentList() { return Fragments; }<br>
+  const MCSection::FragmentListType &getFragmentList() const {<br>
     return const_cast<MCSection *>(this)->getFragmentList();<br>
   }<br>
<br>
-  MCSectionData::iterator begin();<br>
-  MCSectionData::const_iterator begin() const {<br>
+  MCSection::iterator begin();<br>
+  MCSection::const_iterator begin() const {<br>
     return const_cast<MCSection *>(this)->begin();<br>
   }<br>
<br>
-  MCSectionData::iterator end();<br>
-  MCSectionData::const_iterator end() const {<br>
+  MCSection::iterator end();<br>
+  MCSection::const_iterator end() const {<br>
     return const_cast<MCSection *>(this)->end();<br>
   }<br>
<br>
-  MCSectionData::reverse_iterator rbegin();<br>
-  MCSectionData::const_reverse_iterator rbegin() const {<br>
+  MCSection::reverse_iterator rbegin();<br>
+  MCSection::const_reverse_iterator rbegin() const {<br>
     return const_cast<MCSection *>(this)->rbegin();<br>
   }<br>
<br>
-  MCSectionData::reverse_iterator rend();<br>
-  MCSectionData::const_reverse_iterator rend() const {<br>
+  MCSection::reverse_iterator rend();<br>
+  MCSection::const_reverse_iterator rend() const {<br>
     return const_cast<MCSection *>(this)->rend();<br>
   }<br>
<br>
-  MCSectionData::iterator getSubsectionInsertionPoint(unsigned Subsection);<br>
+  MCSection::iterator getSubsectionInsertionPoint(unsigned Subsection);<br>
+<br>
+  void dump();<br>
<br>
   virtual void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS,<br>
                                     const MCExpr *Subsection) const = 0;<br>
<br>
Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_MC_ELFObjectWriter.cpp-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=sTHA4zrkNCsl9j2WHQ52YVdPV0WRrD7WkPScLUvRa4k&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)<br>
+++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Wed May 27 10:14:11 2015<br>
@@ -1096,7 +1096,7 @@ ELFObjectWriter::createRelocationSection<br>
<br>
 static SmallVector<char, 128><br>
 getUncompressedData(const MCAsmLayout &Layout,<br>
-                    const MCSectionData::FragmentListType &Fragments) {<br>
+                    const MCSection::FragmentListType &Fragments) {<br>
   SmallVector<char, 128> UncompressedData;<br>
   for (const MCFragment &F : Fragments) {<br>
     const SmallVectorImpl<char> *Contents;<br>
@@ -1154,7 +1154,7 @@ void ELFObjectWriter::writeSectionData(c<br>
   }<br>
<br>
   // Gather the uncompressed data from all the fragments.<br>
-  const MCSectionData::FragmentListType &Fragments = Section.getFragmentList();<br>
+  const MCSection::FragmentListType &Fragments = Section.getFragmentList();<br>
   SmallVector<char, 128> UncompressedData =<br>
       getUncompressedData(Layout, Fragments);<br>
<br>
<br>
Modified: llvm/trunk/lib/MC/MCAssembler.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_MC_MCAssembler.cpp-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=rNmm2hruPOEX0odp8vngoHE_Nu0p3wsaYoZ21SWUds4&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAssembler.cpp?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/MCAssembler.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCAssembler.cpp Wed May 27 10:14:11 2015<br>
@@ -288,10 +288,6 @@ MCEncodedFragmentWithFixups::~MCEncodedF<br>
<br>
 /* *** */<br>
<br>
-MCSectionData::MCSectionData(MCSection &Section) : Section(&Section) {}<br>
-<br>
-/* *** */<br>
-<br>
 MCAssembler::MCAssembler(MCContext &Context_, MCAsmBackend &Backend_,<br>
                          MCCodeEmitter &Emitter_, MCObjectWriter &Writer_,<br>
                          raw_ostream &OS_)<br>
@@ -744,8 +740,8 @@ void MCAssembler::writeSectionData(const<br>
     assert(Layout.getSectionFileSize(Sec) == 0 && "Invalid size for section!");<br>
<br>
     // Check that contents are only things legal inside a virtual section.<br>
-    for (MCSectionData::const_iterator it = Sec->begin(), ie = Sec->end();<br>
-         it != ie; ++it) {<br>
+    for (MCSection::const_iterator it = Sec->begin(), ie = Sec->end(); it != ie;<br>
+         ++it) {<br>
       switch (it->getKind()) {<br>
       default: llvm_unreachable("Invalid fragment in virtual section!");<br>
       case MCFragment::FT_Data: {<br>
@@ -786,8 +782,8 @@ void MCAssembler::writeSectionData(const<br>
   uint64_t Start = getWriter().getStream().tell();<br>
   (void)Start;<br>
<br>
-  for (MCSectionData::const_iterator it = Sec->begin(), ie = Sec->end();<br>
-       it != ie; ++it)<br>
+  for (MCSection::const_iterator it = Sec->begin(), ie = Sec->end(); it != ie;<br>
+       ++it)<br>
     writeFragment(*this, Layout, *it);<br>
<br>
   assert(getWriter().getStream().tell() - Start ==<br>
@@ -837,7 +833,7 @@ void MCAssembler::Finish() {<br>
     Sec->setLayoutOrder(i);<br>
<br>
     unsigned FragmentIndex = 0;<br>
-    for (MCSectionData::iterator iFrag = Sec->begin(), iFragEnd = Sec->end();<br>
+    for (MCSection::iterator iFrag = Sec->begin(), iFragEnd = Sec->end();<br>
          iFrag != iFragEnd; ++iFrag)<br>
       iFrag->setLayoutOrder(FragmentIndex++);<br>
   }<br>
@@ -865,8 +861,8 @@ void MCAssembler::Finish() {<br>
<br>
   // Evaluate and apply the fixups, generating relocation entries as necessary.<br>
   for (MCAssembler::iterator it = begin(), ie = end(); it != ie; ++it) {<br>
-    for (MCSectionData::iterator it2 = it->begin(),<br>
-           ie2 = it->end(); it2 != ie2; ++it2) {<br>
+    for (MCSection::iterator it2 = it->begin(), ie2 = it->end(); it2 != ie2;<br>
+         ++it2) {<br>
       MCEncodedFragmentWithFixups *F =<br>
         dyn_cast<MCEncodedFragmentWithFixups>(it2);<br>
       if (F) {<br>
@@ -1009,7 +1005,7 @@ bool MCAssembler::layoutSectionOnce(MCAs<br>
   MCFragment *FirstRelaxedFragment = nullptr;<br>
<br>
   // Attempt to relax all the fragments in the section.<br>
-  for (MCSectionData::iterator I = Sec.begin(), IE = Sec.end(); I != IE; ++I) {<br>
+  for (MCSection::iterator I = Sec.begin(), IE = Sec.end(); I != IE; ++I) {<br>
     // Check if this is a fragment that needs relaxation.<br>
     bool RelaxedFrag = false;<br>
     switch(I->getKind()) {<br>
@@ -1188,18 +1184,6 @@ void MCFragment::dump() {<br>
   OS << ">";<br>
 }<br>
<br>
-void MCSectionData::dump() {<br>
-  raw_ostream &OS = llvm::errs();<br>
-<br>
-  OS << "<MCSectionData";<br>
-  OS << " Fragments:[\n      ";<br>
-  for (iterator it = begin(), ie = end(); it != ie; ++it) {<br>
-    if (it != begin()) OS << ",\n      ";<br>
-    it->dump();<br>
-  }<br>
-  OS << "]>";<br>
-}<br>
-<br>
 void MCSymbolData::dump() const {<br>
   raw_ostream &OS = llvm::errs();<br>
<br>
@@ -1225,7 +1209,7 @@ void MCAssembler::dump() {<br>
   OS << "  Sections:[\n    ";<br>
   for (iterator it = begin(), ie = end(); it != ie; ++it) {<br>
     if (it != begin()) OS << ",\n    ";<br>
-    it->getSectionData().dump();<br>
+    it->dump();<br>
   }<br>
   OS << "],\n";<br>
   OS << "  Symbols:[";<br>
<br>
Modified: llvm/trunk/lib/MC/MCMachOStreamer.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_MC_MCMachOStreamer.cpp-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=QrqvJwkxHj80SUVzAkl_VdSpJRUDMUblcxcqH2Dy2ho&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCMachOStreamer.cpp?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/MCMachOStreamer.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCMachOStreamer.cpp Wed May 27 10:14:11 2015<br>
@@ -479,8 +479,8 @@ void MCMachOStreamer::FinishImpl() {<br>
   for (MCAssembler::iterator it = getAssembler().begin(),<br>
          ie = getAssembler().end(); it != ie; ++it) {<br>
     const MCSymbol *CurrentAtom = nullptr;<br>
-    for (MCSectionData::iterator it2 = it->begin(),<br>
-           ie2 = it->end(); it2 != ie2; ++it2) {<br>
+    for (MCSection::iterator it2 = it->begin(), ie2 = it->end(); it2 != ie2;<br>
+         ++it2) {<br>
       if (const MCSymbol *Symbol = DefiningSymbolMap.lookup(it2))<br>
         CurrentAtom = Symbol;<br>
       it2->setAtom(CurrentAtom);<br>
<br>
Modified: llvm/trunk/lib/MC/MCObjectStreamer.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_MC_MCObjectStreamer.cpp-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=wCFwg82g6x1x5ptSsEwcq6IvgYjMm5jFUhB0c6FKJd4&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectStreamer.cpp?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/MCObjectStreamer.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCObjectStreamer.cpp Wed May 27 10:14:11 2015<br>
@@ -80,7 +80,7 @@ void MCObjectStreamer::reset() {<br>
   if (Assembler)<br>
     Assembler->reset();<br>
   CurSectionData = nullptr;<br>
-  CurInsertionPoint = MCSectionData::iterator();<br>
+  CurInsertionPoint = MCSection::iterator();<br>
   EmitEHFrame = true;<br>
   EmitDebugFrame = false;<br>
   PendingLabels.clear();<br>
<br>
Modified: llvm/trunk/lib/MC/MCSection.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_MC_MCSection.cpp-3Frev-3D238331-26r1-3D238330-26r2-3D238331-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=acwRpO6n6fQ8aSSNg7tLiZAhNJTlxH-4ipDbsoj3aIs&s=NXBf8bo7jHkw6VmR0C_1ob1yeuwJVVF5vBcZv-nomo0&e=" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCSection.cpp?rev=238331&r1=238330&r2=238331&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/MCSection.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCSection.cpp Wed May 27 10:14:11 2015<br>
@@ -20,7 +20,7 @@ using namespace llvm;<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 MCSection::MCSection(SectionVariant V, SectionKind K, MCSymbol *Begin)<br>
-    : Begin(Begin), HasInstructions(false), Data(*this), Variant(V), Kind(K) {}<br>
+    : Begin(Begin), HasInstructions(false), Variant(V), Kind(K) {}<br>
<br>
 MCSymbol *MCSection::getEndSymbol(MCContext &Ctx) {<br>
   if (!End)<br>
@@ -52,23 +52,23 @@ void MCSection::setBundleLockState(Bundl<br>
   ++BundleLockNestingDepth;<br>
 }<br>
<br>
-MCSectionData::iterator<br>
+MCSection::iterator<br>
 MCSection::getSubsectionInsertionPoint(unsigned Subsection) {<br>
-  if (Subsection == 0 && Data.SubsectionFragmentMap.empty())<br>
+  if (Subsection == 0 && SubsectionFragmentMap.empty())<br>
     return end();<br>
<br>
   SmallVectorImpl<std::pair<unsigned, MCFragment *>>::iterator MI =<br>
-      std::lower_bound(Data.SubsectionFragmentMap.begin(),<br>
-                       Data.SubsectionFragmentMap.end(),<br>
+      std::lower_bound(SubsectionFragmentMap.begin(),<br>
+                       SubsectionFragmentMap.end(),<br>
                        std::make_pair(Subsection, (MCFragment *)nullptr));<br>
   bool ExactMatch = false;<br>
-  if (MI != Data.SubsectionFragmentMap.end()) {<br>
+  if (MI != SubsectionFragmentMap.end()) {<br>
     ExactMatch = MI->first == Subsection;<br>
     if (ExactMatch)<br>
       ++MI;<br>
   }<br>
-  MCSectionData::iterator IP;<br>
-  if (MI == Data.SubsectionFragmentMap.end())<br>
+  iterator IP;<br>
+  if (MI == SubsectionFragmentMap.end())<br>
     IP = end();<br>
   else<br>
     IP = MI->second;<br>
@@ -76,7 +76,7 @@ MCSection::getSubsectionInsertionPoint(u<br>
     // The GNU as documentation claims that subsections have an alignment of 4,<br>
     // although this appears not to be the case.<br>
     MCFragment *F = new MCDataFragment();<br>
-    Data.SubsectionFragmentMap.insert(MI, std::make_pair(Subsection, F));<br>
+    SubsectionFragmentMap.insert(MI, std::make_pair(Subsection, F));<br>
     getFragmentList().insert(IP, F);<br>
     F->setParent(this);<br>
   }<br>
@@ -84,24 +84,23 @@ MCSection::getSubsectionInsertionPoint(u<br>
   return IP;<br>
 }<br>
<br>
-MCSectionData::iterator MCSection::begin() { return Data.begin(); }<br>
+void MCSection::dump() {<br>
+  raw_ostream &OS = llvm::errs();<br>
<br>
-MCSectionData::iterator MCSection::end() { return Data.end(); }<br>
-<br>
-MCSectionData::reverse_iterator MCSection::rbegin() { return Data.rbegin(); }<br>
-<br>
-MCSectionData::FragmentListType &MCSection::getFragmentList() {<br>
-  return Data.getFragmentList();<br>
+  OS << "<MCSection";<br>
+  OS << " Fragments:[\n      ";<br>
+  for (auto it = begin(), ie = end(); it != ie; ++it) {<br>
+    if (it != begin())<br>
+      OS << ",\n      ";<br>
+    it->dump();<br>
+  }<br>
+  OS << "]>";<br>
 }<br>
<br>
-MCSectionData::iterator MCSectionData::begin() { return Fragments.begin(); }<br>
+MCSection::iterator MCSection::begin() { return Fragments.begin(); }<br>
<br>
-MCSectionData::iterator MCSectionData::end() { return Fragments.end(); }<br>
+MCSection::iterator MCSection::end() { return Fragments.end(); }<br>
<br>
-MCSectionData::reverse_iterator MCSectionData::rbegin() {<br>
-  return Fragments.rbegin();<br>
-}<br>
+MCSection::reverse_iterator MCSection::rbegin() { return Fragments.rbegin(); }<br>
<br>
-MCSectionData::reverse_iterator MCSectionData::rend() {<br>
-  return Fragments.rend();<br>
-}<br>
+MCSection::reverse_iterator MCSection::rend() { return Fragments.rend(); }<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>