Simplify output section ownership.
This patch simplifies output section management by making
Factory class have ownership of sections that creates.
Differential Revision: https://reviews.llvm.org/D22575
llvm-svn: 276141
diff --git a/lld/ELF/LinkerScript.h b/lld/ELF/LinkerScript.h
index a56ac2d..3ef318d 100644
--- a/lld/ELF/LinkerScript.h
+++ b/lld/ELF/LinkerScript.h
@@ -92,12 +92,13 @@
public:
typedef PhdrEntry<ELFT> Phdr;
+ std::vector<OutputSectionBase<ELFT> *>
+ createSections(OutputSectionFactory<ELFT> &Factory);
+
StringRef getOutputSection(InputSectionBase<ELFT> *S);
ArrayRef<uint8_t> getFiller(StringRef Name);
bool isDiscarded(InputSectionBase<ELFT> *S);
bool shouldKeep(InputSectionBase<ELFT> *S);
- std::vector<std::unique_ptr<OutputSectionBase<ELFT>>>
- createSections(OutputSectionFactory<ELFT> &Factory);
void assignAddresses(ArrayRef<OutputSectionBase<ELFT> *> S);
int compareSections(StringRef A, StringRef B);
void addScriptedSymbols();