diff options
Diffstat (limited to 'lib/Linker/LinkArchives.cpp')
-rw-r--r-- | lib/Linker/LinkArchives.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Linker/LinkArchives.cpp b/lib/Linker/LinkArchives.cpp index 8186e7b4d1..95ac1ab1fd 100644 --- a/lib/Linker/LinkArchives.cpp +++ b/lib/Linker/LinkArchives.cpp @@ -88,7 +88,7 @@ GetAllUndefinedSymbols(Module *M, std::set<std::string> &UndefinedSymbols) { /// TRUE - An error occurred. /// FALSE - No errors. bool -Linker::LinkInArchive(const sys::Path &Filename) { +Linker::LinkInArchive(const sys::Path &Filename, bool &is_native) { // Make sure this is an archive file we're dealing with if (!Filename.isArchive()) @@ -118,6 +118,11 @@ Linker::LinkInArchive(const sys::Path &Filename) { if (!arch) return error("Cannot read archive '" + Filename.toString() + "': " + ErrMsg); + if (!arch->isBytecodeArchive()) { + is_native = true; + return false; + } + is_native = false; // Save a set of symbols that are not defined by the archive. Since we're // entering a loop, there's no point searching for these multiple times. This |