diff options
| author | bors <bors@rust-lang.org> | 2024-08-14 05:52:50 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-08-14 05:52:50 +0000 |
| commit | f25ca7eca8379e1d3da0963f2a6c7ab4ed7da452 (patch) | |
| tree | 5790ad14119476292ab169019d5a635a31819b0f /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 6ff09af0cdd55e504b9710b7b67292538b7e0677 (diff) | |
| parent | db3f92144d6f3b4db8aa19357dee42dd256f1f13 (diff) | |
| download | rust-f25ca7eca8379e1d3da0963f2a6c7ab4ed7da452.tar.gz rust-f25ca7eca8379e1d3da0963f2a6c7ab4ed7da452.zip | |
Auto merge of #3803 - RalfJung:rustup, r=RalfJung
Rustup
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp index 2ff7335a0fc..79a68b2ff0e 100644 --- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp @@ -397,6 +397,18 @@ LLVMRustCreateAllocSizeAttr(LLVMContextRef C, uint32_t ElementSizeArg) { std::nullopt)); } +extern "C" LLVMAttributeRef +LLVMRustCreateRangeAttribute(LLVMContextRef C, unsigned NumBits, + const uint64_t LowerWords[], + const uint64_t UpperWords[]) { +#if LLVM_VERSION_GE(19, 0) + return LLVMCreateConstantRangeAttribute(C, Attribute::Range, NumBits, + LowerWords, UpperWords); +#else + report_fatal_error("LLVM 19.0 is required for Range Attribute"); +#endif +} + // These values **must** match ffi::AllocKindFlags. // It _happens_ to match the LLVM values of llvm::AllocFnKind, // but that's happenstance and we do explicit conversions before |
