summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-04-24 15:51:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-04-24 15:51:45 +0000
commitc08ab8e6e4559b6ba5bc16f70c75da86bd278a4f (patch)
tree3c1f6055eb6cdfe718ae69a25ccf9371227ac302 /lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
parentaf9fdb9dcfec7fd26dd8085a6311035cd7e863ae (diff)
downloadbcm5719-llvm-c08ab8e6e4559b6ba5bc16f70c75da86bd278a4f.tar.gz
bcm5719-llvm-c08ab8e6e4559b6ba5bc16f70c75da86bd278a4f.zip
Delete unnecessary generality in loadFile.
loadFile could load mulitple files just because yaml has a feature for putting multiple documents in one file. Designing a linker around what yaml can do seems like a bad idea to me. This patch changes it to read a single file. There are further improvements to be done to the api and they will follow shortly. llvm-svn: 235724
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp')
-rw-r--r--lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
index b05f4316609..45757eeef1c 100644
--- a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
+++ b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
@@ -30,6 +30,7 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Object/MachO.h"
#include "llvm/Support/Casting.h"
@@ -521,11 +522,10 @@ public:
mb.getBufferSize() > 32);
}
- std::error_code
- loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &registry,
- std::vector<std::unique_ptr<File>> &result) const override {
- auto *file = new MachOFile(std::move(mb), &_ctx);
- result.push_back(std::unique_ptr<MachOFile>(file));
+ std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const Registry &registry,
+ std::unique_ptr<File> &result) const override {
+ result = llvm::make_unique<MachOFile>(std::move(mb), &_ctx);
return std::error_code();
}
@@ -547,11 +547,10 @@ public:
}
}
- std::error_code
- loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &registry,
- std::vector<std::unique_ptr<File>> &result) const override {
- auto *file = new MachODylibFile(std::move(mb), &_ctx);
- result.push_back(std::unique_ptr<MachODylibFile>(file));
+ std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+ const Registry &registry,
+ std::unique_ptr<File> &result) const override {
+ result = llvm::make_unique<MachODylibFile>(std::move(mb), &_ctx);
return std::error_code();
}
OpenPOWER on IntegriCloud