[llvm] r184456 - [yaml2obj][ELF] Just let this class own its buffer.

Sean Silva silvas at purdue.edu
Thu Jun 20 12:11:42 PDT 2013


Author: silvas
Date: Thu Jun 20 14:11:41 2013
New Revision: 184456

URL: http://llvm.org/viewvc/llvm-project?rev=184456&view=rev
Log:
[yaml2obj][ELF] Just let this class own its buffer.

Modified:
    llvm/trunk/tools/yaml2obj/yaml2elf.cpp

Modified: llvm/trunk/tools/yaml2obj/yaml2elf.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/yaml2obj/yaml2elf.cpp?rev=184456&r1=184455&r2=184456&view=diff
==============================================================================
--- llvm/trunk/tools/yaml2obj/yaml2elf.cpp (original)
+++ llvm/trunk/tools/yaml2obj/yaml2elf.cpp Thu Jun 20 14:11:41 2013
@@ -69,11 +69,12 @@ public:
 namespace {
 class ContiguousBlobAccumulator {
   const uint64_t InitialOffset;
+  SmallVector<char, 128> Buf;
   raw_svector_ostream OS;
 
 public:
-  ContiguousBlobAccumulator(uint64_t InitialOffset_, SmallVectorImpl<char> &Buf)
-      : InitialOffset(InitialOffset_), OS(Buf) {}
+  ContiguousBlobAccumulator(uint64_t InitialOffset_)
+      : InitialOffset(InitialOffset_), Buf(), OS(Buf) {}
   raw_ostream &getOS() { return OS; }
   uint64_t currentOffset() const { return InitialOffset + OS.tell(); }
   void writeBlobToStream(raw_ostream &Out) { Out << OS.str(); }
@@ -230,12 +231,11 @@ static int writeELF(raw_ostream &OS, con
   }
 
   StringTableBuilder SHStrTab;
-  SmallVector<char, 128> Buf;
   // XXX: This offset is tightly coupled with the order that we write
   // things to `OS`.
   const size_t SectionContentBeginOffset =
       Header.e_ehsize + Header.e_shentsize * Header.e_shnum;
-  ContiguousBlobAccumulator CBA(SectionContentBeginOffset, Buf);
+  ContiguousBlobAccumulator CBA(SectionContentBeginOffset);
   std::vector<Elf_Shdr> SHeaders;
   {
     // Ensure SHN_UNDEF entry is present. An all-zero section header is a





More information about the llvm-commits mailing list