about summary refs log tree commit diff
path: root/src/rustllvm/ArchiveWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rustllvm/ArchiveWrapper.cpp')
-rw-r--r--src/rustllvm/ArchiveWrapper.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustllvm/ArchiveWrapper.cpp b/src/rustllvm/ArchiveWrapper.cpp
index a40f0a245d1..2cf6277e057 100644
--- a/src/rustllvm/ArchiveWrapper.cpp
+++ b/src/rustllvm/ArchiveWrapper.cpp
@@ -163,12 +163,20 @@ LLVMRustWriteArchive(char *Dst,
     auto Member = NewMembers[i];
     assert(Member->name);
     if (Member->filename) {
+#if LLVM_VERSION_MINOR >= 8
+      Members.push_back(NewArchiveIterator(Member->filename));
+#else
       Members.push_back(NewArchiveIterator(Member->filename, Member->name));
+#endif
     } else {
       Members.push_back(NewArchiveIterator(Member->child, Member->name));
     }
   }
+#if LLVM_VERSION_MINOR >= 8
+  auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
+#else
   auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true);
+#endif
   if (!pair.second)
     return 0;
   LLVMRustSetLastError(pair.second.message().c_str());