On 6/17/24 6:17 PM, Mark Harmstone wrote:
Translates DW_TAG_structure_type DIEs into LF_STRUCTURE symbols, and
DW_TAG_class_type DIEs into LF_CLASS symbols.

     gcc/
             * dwarf2codeview.cc
             (struct codeview_type): Add is_fwd_ref member.
             (struct codeview_subtype): Add lf_member to union.
             (struct codeview_custom_type): Add lf_structure to union.
             (struct codeview_deferred_type): New structure.
             (deferred_types, last_deferred_type): New variables.
             (get_type_num): Add new args to prototype.
             (write_lf_fieldlist): Handle LF_MEMBER subtypes.
             (write_lf_structure): New function.
             (write_custom_types): Call write_lf_structure.
             (get_type_num_pointer_type): Add in_struct argument.
             (get_type_num_const_type): Likewise.
             (get_type_num_volatile_type): Likewise.
             (add_enum_forward_def): Fix get_type_num call.
             (get_type_num_enumeration_type): Add in-struct argument.
             (add_deferred_type, flush_deferred_types): New functions.
             (add_struct_forward_def, get_type_num_struct): Likewise.
             (get_type_num): Handle self-referential structs.
             (add_variable): Fix get_type_num call.
             (codeview_debug_early_finish): Call flush_deferred_types.
             * dwarf2codeview.h (LF_CLASS, LF_STRUCTURE, LF_MEMBER): Define.
Thanks.  I've pushed this to the trunk.
jeff

Reply via email to