From c10f9e7d1d6deba9797642fdd24a01ba9bb25d47 Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Fri, 28 Jan 2022 10:41:36 +0100 Subject: [PATCH] [debuginfo] Fix and unify handling of fat pointers in debuginfo: Don't mark fat pointer fields as artificial. LLDB does not seem to see fields if they are marked with DW_AT_artificial which breaks pretty printers that use these fields for decoding fat pointers. --- compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs index dd9c83481af..1266b540aae 100644 --- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs +++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs @@ -491,7 +491,7 @@ fn pointer_or_reference_metadata<'ll, 'tcx>( offset: layout.fields.offset(abi::FAT_PTR_ADDR), size: addr_field.size, align: addr_field.align.abi, - flags: DIFlags::FlagArtificial, + flags: DIFlags::FlagZero, discriminant: None, source_info: None, }, @@ -501,7 +501,7 @@ fn pointer_or_reference_metadata<'ll, 'tcx>( offset: layout.fields.offset(abi::FAT_PTR_EXTRA), size: extra_field.size, align: extra_field.align.abi, - flags: DIFlags::FlagArtificial, + flags: DIFlags::FlagZero, discriminant: None, source_info: None, },