Index: lld/COFF/Driver.cpp =================================================================== --- lld/COFF/Driver.cpp +++ lld/COFF/Driver.cpp @@ -132,7 +132,6 @@ case file_magic::windows_resource: Resources.push_back(MBRef); break; - case file_magic::archive: if (WholeArchive) { std::unique_ptr File = @@ -145,18 +144,19 @@ } Symtab->addFile(make(MBRef)); break; - case file_magic::bitcode: Symtab->addFile(make(MBRef)); break; - + case file_magic::coff_object: + case file_magic::coff_import_library: + Symtab->addFile(make(MBRef)); + break; case file_magic::coff_cl_gl_object: error(MBRef.getBufferIdentifier() + ": is not a native COFF file. " "Recompile without /GL"); break; - default: - Symtab->addFile(make(MBRef)); + error(MBRef.getBufferIdentifier() + ": unknown file type"); break; } } Index: lld/test/COFF/driver.test =================================================================== --- lld/test/COFF/driver.test +++ lld/test/COFF/driver.test @@ -4,3 +4,8 @@ # RUN: lld-link --version | FileCheck -check-prefix=VERSION %s VERSION: {{LLD [0-9]+\.[0-9]+}} + +# RUN: yaml2obj < %p/Inputs/export.yaml > %t.obj +# RUN: lld-link /out:%t.dll /dll %t.obj +# RUN: not lld-link /out:%t.exe %t.dll 2>&1 | FileCheck -check-prefix=BADFILE %s +BADFILE: unknown file type