diff options
| author | Michael Woerister <michaelwoerister@posteo> | 2022-07-08 17:15:43 +0200 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo> | 2022-08-12 10:53:08 +0200 |
| commit | 171d8a3f57b00ff9d213c74729c5ff228b016c8c (patch) | |
| tree | 8da59deca67eb5f0e49332b48cc756290df84584 /compiler/rustc_codegen_llvm/src/debuginfo | |
| parent | 8433e2a66fad920e1312c02dc4395ceed98a2705 (diff) | |
| download | rust-171d8a3f57b00ff9d213c74729c5ff228b016c8c.tar.gz rust-171d8a3f57b00ff9d213c74729c5ff228b016c8c.zip | |
[debuginfo] Don't mark fields and types as artificial in CPP-like enum debuginfo encoding.
LLDB historically has had problems with "artificial" entries and there is no real benefit to emitting that flag.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/debuginfo')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like.rs index c88dfed7e47..410cfbc2de8 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/cpp_like.rs @@ -119,7 +119,7 @@ const SINGLE_VARIANT_VIRTUAL_DISR: u64 = 0; /// /// The following pseudocode shows how to decode an enum value in a debugger: /// -/// ```ignore +/// ```text /// /// fn find_active_variant(enum_value) -> (VariantName, VariantValue) { /// let is_128_bit = enum_value.has_field("tag128_lo"); @@ -365,7 +365,7 @@ fn build_single_variant_union_fields<'ll, 'tcx>( unknown_file_metadata(cx), UNKNOWN_LINE_NUMBER, variant_names_type_di_node, - DIFlags::FlagArtificial, + DIFlags::FlagZero, Some(cx.const_u64(SINGLE_VARIANT_VIRTUAL_DISR)), tag_base_type_align.bits() as u32, ) @@ -482,7 +482,7 @@ fn build_variant_struct_wrapper_type_di_node<'ll, 'tcx>( // NOTE: We use size and align of enum_type, not from variant_layout: size_and_align_of(enum_or_generator_type_and_layout), Some(enum_or_generator_type_di_node), - DIFlags::FlagArtificial, + DIFlags::FlagZero, ), |cx, wrapper_struct_type_di_node| { enum DiscrKind { @@ -526,7 +526,7 @@ fn build_variant_struct_wrapper_type_di_node<'ll, 'tcx>( "value", size_and_align_of(enum_or_generator_type_and_layout), Size::ZERO, - DIFlags::FlagArtificial, + DIFlags::FlagZero, variant_struct_type_di_node, )); @@ -540,7 +540,7 @@ fn build_variant_struct_wrapper_type_di_node<'ll, 'tcx>( unknown_file_metadata(cx), UNKNOWN_LINE_NUMBER, type_di_node, - DIFlags::FlagArtificial, + DIFlags::FlagZero, Some(cx.const_u64(value)), align.bits() as u32, ) |
