diff options
| author | bors <bors@rust-lang.org> | 2022-12-07 00:32:57 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-12-07 00:32:57 +0000 |
| commit | d43674e2c9b1a7b134ef76378c30e822c75c9aa1 (patch) | |
| tree | adc30e8c94cb6bfbb6ca35288d6c6545ffc8f1c5 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 023b5136b597053f76941b54eeae668219e6e18d (diff) | |
| parent | 62d5beed0f29c32147c7c91308d201b8940711b8 (diff) | |
| download | rust-d43674e2c9b1a7b134ef76378c30e822c75c9aa1.tar.gz rust-d43674e2c9b1a7b134ef76378c30e822c75c9aa1.zip | |
Auto merge of #105397 - matthiaskrgr:rollup-xv5imz8, r=matthiaskrgr
Rollup of 6 pull requests
Successful merges:
- #105298 (llvm-wrapper: adapt for an LLVM API change)
- #105358 (Add a test for #104260)
- #105380 (add const generics ping files things for me)
- #105382 (remove an excess `this`)
- #105388 (rustdoc: remove redundant CSS `.import-item .stab { font-size }`)
- #105390 (unstable-book: Add `ignore` to `abi_efiapi` example code)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp index 792d921c6a4..3a748f38995 100644 --- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp @@ -17,7 +17,9 @@ #include "llvm/Pass.h" #include "llvm/Bitcode/BitcodeWriter.h" #include "llvm/Support/Signals.h" +#if LLVM_VERSION_LT(16, 0) #include "llvm/ADT/Optional.h" +#endif #include <iostream> @@ -708,7 +710,11 @@ enum class LLVMRustChecksumKind { SHA256, }; +#if LLVM_VERSION_LT(16, 0) static Optional<DIFile::ChecksumKind> fromRust(LLVMRustChecksumKind Kind) { +#else +static std::optional<DIFile::ChecksumKind> fromRust(LLVMRustChecksumKind Kind) { +#endif switch (Kind) { case LLVMRustChecksumKind::None: return None; @@ -787,8 +793,18 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFile( const char *Filename, size_t FilenameLen, const char *Directory, size_t DirectoryLen, LLVMRustChecksumKind CSKind, const char *Checksum, size_t ChecksumLen) { + +#if LLVM_VERSION_LT(16, 0) Optional<DIFile::ChecksumKind> llvmCSKind = fromRust(CSKind); +#else + std::optional<DIFile::ChecksumKind> llvmCSKind = fromRust(CSKind); +#endif + +#if LLVM_VERSION_LT(16, 0) Optional<DIFile::ChecksumInfo<StringRef>> CSInfo{}; +#else + std::optional<DIFile::ChecksumInfo<StringRef>> CSInfo{}; +#endif if (llvmCSKind) CSInfo.emplace(*llvmCSKind, StringRef{Checksum, ChecksumLen}); return wrap(Builder->createFile(StringRef(Filename, FilenameLen), |
