diff options
| author | bors <bors@rust-lang.org> | 2022-09-09 23:06:40 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-09-09 23:06:40 +0000 |
| commit | 395e56f39849defec8d6941f76625d286a6e5ddc (patch) | |
| tree | 8b8aa68d407f03734ed5618934a743e2151381cd /compiler/rustc_codegen_llvm/src/common.rs | |
| parent | 1d37ed661a6922e7a167609b8cd7eb31e972b19b (diff) | |
| parent | 07a9c10fe6d67cbd3d33a17002e9b41310e6c3a0 (diff) | |
| download | rust-395e56f39849defec8d6941f76625d286a6e5ddc.tar.gz rust-395e56f39849defec8d6941f76625d286a6e5ddc.zip | |
Auto merge of #101617 - Dylan-DPC:rollup-iiy4ipc, r=Dylan-DPC
Rollup of 5 pull requests Successful merges: - #101366 (Restore old behaviour on broken UNC paths) - #101492 (Suggest adding array lengths to references to arrays if possible) - #101529 (Fix the example code and doctest for Formatter::sign_plus) - #101573 (update `ParamKindOrd`) - #101612 (Fix code generation of `Rvalue::Repeat` with 128 bit values) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/common.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/common.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/common.rs b/compiler/rustc_codegen_llvm/src/common.rs index 488ea72c3b7..acee9134fb9 100644 --- a/compiler/rustc_codegen_llvm/src/common.rs +++ b/compiler/rustc_codegen_llvm/src/common.rs @@ -215,7 +215,11 @@ impl<'ll, 'tcx> ConstMethods<'tcx> for CodegenCx<'ll, 'tcx> { } fn const_to_opt_uint(&self, v: &'ll Value) -> Option<u64> { - try_as_const_integral(v).map(|v| unsafe { llvm::LLVMConstIntGetZExtValue(v) }) + try_as_const_integral(v).and_then(|v| unsafe { + let mut i = 0u64; + let success = llvm::LLVMRustConstIntGetZExtValue(v, &mut i); + success.then_some(i) + }) } fn const_to_opt_u128(&self, v: &'ll Value, sign_ext: bool) -> Option<u128> { |
