diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-06-30 19:55:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-30 19:55:52 +0200 |
| commit | 5cd41d7be8f1af027d2d3e38f7ac5d278bf5e0be (patch) | |
| tree | 3fe4fad8adce413436b293e2f8b7a08cd78f033e /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | ebecc1310600b08250e5300558453c9883dec441 (diff) | |
| parent | a3a88c73f104d11849a31ebbf1c4ff4b10fc1e8d (diff) | |
| download | rust-5cd41d7be8f1af027d2d3e38f7ac5d278bf5e0be.tar.gz rust-5cd41d7be8f1af027d2d3e38f7ac5d278bf5e0be.zip | |
Rollup merge of #98670 - krasimirgg:llvm-15-LLVMConstExtractValue, r=nikic
llvm-wrapper: adapt for LLVMConstExtractValue removal `LLVMConstExtractValue` was removed recently from LLVM: https://github.com/llvm/llvm-project/commit/5548e807b5777fdda167b6795e0e05432a6163f1. This adapts llvm-wrapper to use the new alternative where available, following https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/LLVMConstExtractValue.20removal.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp index a52d5340242..8c5b4e2dc96 100644 --- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp @@ -1865,3 +1865,11 @@ extern "C" void LLVMRustGetMangledName(LLVMValueRef V, RustStringRef Str) { GlobalValue *GV = unwrap<GlobalValue>(V); Mangler().getNameWithPrefix(OS, GV, true); } + +// LLVMGetAggregateElement was added in LLVM 15. For earlier LLVM versions just +// use its implementation. +#if LLVM_VERSION_LT(15, 0) +extern "C" LLVMValueRef LLVMGetAggregateElement(LLVMValueRef C, unsigned Idx) { + return wrap(unwrap<Constant>(C)->getAggregateElement(Idx)); +} +#endif |
