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
diff --git a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
index 9b5837c..aff6c87 100644
--- a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
+++ b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
@@ -623,9 +623,11 @@
   if (mbOrErr.getError())
     return nullptr;
 
-  std::vector<std::unique_ptr<File>> files;
-  if (registry().loadFile(std::move(mbOrErr.get()), files))
+  std::unique_ptr<File> file;
+  if (registry().loadFile(std::move(mbOrErr.get()), file))
     return nullptr;
+  std::vector<std::unique_ptr<File>> files;
+  files.push_back(std::move(file));
   assert(files.size() == 1 && "expected one file in dylib");
   files[0]->parse();
   MachODylibFile* result = reinterpret_cast<MachODylibFile*>(files[0].get());
diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
index b05f431..45757ee 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 @@
             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 @@
     }
   }
 
-  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();
   }