Don't copy the .drective section with std::string
authorReid Kleckner <rnk@google.com>
Fri, 29 Mar 2019 21:00:22 +0000 (21:00 +0000)
committerReid Kleckner <rnk@google.com>
Fri, 29 Mar 2019 21:00:22 +0000 (21:00 +0000)
Both COFF and bitcode input files expose these as stable strings.

llvm-svn: 357314

lld/COFF/InputFiles.cpp
lld/COFF/InputFiles.h

index eaab17c..10ebeab 100644 (file)
@@ -172,7 +172,7 @@ SectionChunk *ObjFile::readSection(uint32_t SectionNumber,
   if (Name == ".drectve") {
     ArrayRef<uint8_t> Data;
     COFFObj->getSectionContents(Sec, Data);
-    Directives = std::string((const char *)Data.data(), Data.size());
+    Directives = StringRef((const char *)Data.data(), Data.size());
     return nullptr;
   }
 
index ddffa7c..27e1025 100644 (file)
@@ -74,12 +74,12 @@ public:
   StringRef ParentName;
 
   // Returns .drectve section contents if exist.
-  StringRef getDirectives() { return StringRef(Directives).trim(); }
+  StringRef getDirectives() { return Directives; }
 
 protected:
   InputFile(Kind K, MemoryBufferRef M) : MB(M), FileKind(K) {}
 
-  std::string Directives;
+  StringRef Directives;
 
 private:
   const Kind FileKind;