diff options
| author | Ralf Jung <post@ralfj.de> | 2025-02-15 07:14:46 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-15 07:14:46 +0000 |
| commit | 487346680f6d78d29023d511a2ba71f8ff4d8d01 (patch) | |
| tree | 6d0bd72ad374a7aa08ae07ae53b9e5a7a8c9adeb /compiler/rustc_codegen_llvm/src/debuginfo | |
| parent | 17f218dcbef5aaa8cc0d0c3e3e4bd7d6fab82aea (diff) | |
| parent | 03076f17b05e1c05816fd59c0c50dc1cf444d240 (diff) | |
| download | rust-487346680f6d78d29023d511a2ba71f8ff4d8d01.tar.gz rust-487346680f6d78d29023d511a2ba71f8ff4d8d01.zip | |
Merge pull request #4194 from rust-lang/rustup-2025-02-15
Automatic Rustup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/debuginfo')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs index 11824398f24..187d97c54c8 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs @@ -437,6 +437,12 @@ fn build_enum_variant_member_di_node<'ll, 'tcx>( .source_info .unwrap_or_else(|| (unknown_file_metadata(cx), UNKNOWN_LINE_NUMBER)); + let discr = discr_value.opt_single_val().map(|value| { + let tag_base_type = tag_base_type(cx.tcx, enum_type_and_layout); + let size = cx.size_of(tag_base_type); + cx.const_uint_big(cx.type_ix(size.bits()), value) + }); + unsafe { llvm::LLVMRustDIBuilderCreateVariantMemberType( DIB(cx), @@ -448,7 +454,7 @@ fn build_enum_variant_member_di_node<'ll, 'tcx>( enum_type_and_layout.size.bits(), enum_type_and_layout.align.abi.bits() as u32, Size::ZERO.bits(), - discr_value.opt_single_val().map(|value| cx.const_u128(value)), + discr, DIFlags::FlagZero, variant_member_info.variant_struct_type_di_node, ) |
