about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2023-08-23 17:46:35 +0200
committerGitHub <noreply@github.com>2023-08-23 17:46:35 +0200
commit8c24ce115ea295127d4b7f601ec8d8f5e9d5ade2 (patch)
tree6d903af4385cea64e36da47f3e0a2931f4d309f1 /compiler
parentb3949c01746a8438f972cf05ac196bfd5565fea5 (diff)
parent3977ed1e69e6fc14e76e19bead3d6d725fc2129d (diff)
downloadrust-8c24ce115ea295127d4b7f601ec8d8f5e9d5ade2.tar.gz
rust-8c24ce115ea295127d4b7f601ec8d8f5e9d5ade2.zip
Rollup merge of #115106 - durin42:llvm-18-symtabwritingmode, r=nikic
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')
-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());