summaryrefslogtreecommitdiff
path: root/COFF/Driver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'COFF/Driver.cpp')
-rw-r--r--COFF/Driver.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/COFF/Driver.cpp b/COFF/Driver.cpp
index 96c328b30518..27b1c48ce3e5 100644
--- a/COFF/Driver.cpp
+++ b/COFF/Driver.cpp
@@ -18,6 +18,7 @@
#include "lld/Driver/Driver.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringSwitch.h"
+#include "llvm/BinaryFormat/Magic.h"
#include "llvm/Object/ArchiveWriter.h"
#include "llvm/Object/COFFImportFile.h"
#include "llvm/Object/COFFModuleDefinition.h"
@@ -40,8 +41,6 @@ using namespace llvm;
using namespace llvm::object;
using namespace llvm::COFF;
using llvm::sys::Process;
-using llvm::sys::fs::file_magic;
-using llvm::sys::fs::identify_magic;
namespace lld {
namespace coff {
@@ -457,17 +456,11 @@ static void createImportLibrary() {
static void parseModuleDefs(StringRef Path) {
std::unique_ptr<MemoryBuffer> MB = check(
MemoryBuffer::getFile(Path, -1, false, true), "could not open " + Path);
- MemoryBufferRef MBRef = MB->getMemBufferRef();
-
- Expected<COFFModuleDefinition> Def =
- parseCOFFModuleDefinition(MBRef, Config->Machine);
- if (!Def)
- fatal(errorToErrorCode(Def.takeError()).message());
+ COFFModuleDefinition M =
+ check(parseCOFFModuleDefinition(MB->getMemBufferRef(), Config->Machine));
- COFFModuleDefinition &M = *Def;
if (Config->OutputFile.empty())
Config->OutputFile = Saver.save(M.OutputFile);
-
if (M.ImageBase)
Config->ImageBase = M.ImageBase;
if (M.StackReserve)