about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
diff options
context:
space:
mode:
authorAugie Fackler <augie@google.com>2023-08-22 12:26:35 -0400
committerAugie Fackler <augie@google.com>2023-08-22 12:26:35 -0400
commit3977ed1e69e6fc14e76e19bead3d6d725fc2129d (patch)
treeec064493f1cce706cdaf9da0d2dc128af285bad8 /compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
parentd8c69dfb37241a2b750a2acbbab48d1201d00766 (diff)
downloadrust-3977ed1e69e6fc14e76e19bead3d6d725fc2129d.tar.gz
rust-3977ed1e69e6fc14e76e19bead3d6d725fc2129d.zip
ArchiveWrapper: handle LLVM API update
In llvm/llvm-project@f740bcb3707a17ed4ccd52157089011a586cc2a6 a boolean
parameter changed to an enum.

r? @nikic
@rustbot label: +llvm-main
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp')
-rw-r--r--compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
index 35d6b9ed7a4..54fdc84c77d 100644
--- a/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
@@ -203,7 +203,12 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
     }
   }
 
+#if LLVM_VERSION_LT(18, 0)
   auto Result = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
+#else
+  auto SymtabMode = WriteSymbtab ? SymtabWritingMode::NormalSymtab : SymtabWritingMode::NoSymtab;
+  auto Result = writeArchive(Dst, Members, SymtabMode, Kind, true, false);
+#endif
   if (!Result)
     return LLVMRustResult::Success;
   LLVMRustSetLastError(toString(std::move(Result)).c_str());