summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/COFF/Symbols.cpp10
-rw-r--r--lld/test/COFF/lto.ll4
2 files changed, 9 insertions, 5 deletions
diff --git a/lld/COFF/Symbols.cpp b/lld/COFF/Symbols.cpp
index 7b82d36e2af..b3975a59cb6 100644
--- a/lld/COFF/Symbols.cpp
+++ b/lld/COFF/Symbols.cpp
@@ -221,17 +221,19 @@ ErrorOr<std::unique_ptr<InputFile>> Lazy::getMember() {
return std::unique_ptr<InputFile>(nullptr);
file_magic Magic = identify_magic(MBRef.getBuffer());
- if (Magic == file_magic::bitcode)
- return std::unique_ptr<InputFile>(new BitcodeFile(MBRef));
if (Magic == file_magic::coff_import_library)
return std::unique_ptr<InputFile>(new ImportFile(MBRef));
- if (Magic != file_magic::coff_object) {
+ std::unique_ptr<InputFile> Obj;
+ if (Magic == file_magic::coff_object) {
+ Obj.reset(new ObjectFile(MBRef));
+ } else if (Magic == file_magic::bitcode) {
+ Obj.reset(new BitcodeFile(MBRef));
+ } else {
llvm::errs() << File->getName() << ": unknown file type\n";
return make_error_code(LLDError::InvalidFile);
}
- std::unique_ptr<InputFile> Obj(new ObjectFile(MBRef));
Obj->setParentName(File->getName());
return std::move(Obj);
}
diff --git a/lld/test/COFF/lto.ll b/lld/test/COFF/lto.ll
index 6b92649d0b1..38e4b4f48b0 100644
--- a/lld/test/COFF/lto.ll
+++ b/lld/test/COFF/lto.ll
@@ -11,7 +11,7 @@
; RUN: lld -flavor link2 /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.obj
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-11 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-11 %s
-; RUN: lld -flavor link2 /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.lib
+; RUN: lld -flavor link2 /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.lib /verbose 2>&1 | FileCheck -check-prefix=VERBOSE %s
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-11 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-11 %s
@@ -29,6 +29,8 @@
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-10 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-10 %s
+; VERBOSE: foo.lto.lib({{.*}}foo.lto.obj)
+
; HEADERS-11: AddressOfEntryPoint: 0x1000
; TEXT-11: Disassembly of section .text:
; TEXT-11-NEXT: .text:
OpenPOWER on IntegriCloud