On 11/17/24 9:01 AM, Mark Harmstone wrote:
If the DIE for a struct, class, or union contains a nested type, add a
LF_NESTTYPE entry to its field list recording this.

Plus if we use a nested type, make sure that its parent also gets
defined. This may entail adding a forward definition and creating a
deferred type, so we need to call flush_deferred_types in
codeview_debug_finish as well.

gcc/
        * dwarf2codeview.cc (enum cv_leaf_type): Add LF_NESTTYPE.
        (struct codeview_subtype): Add lf_nesttype to union.
        (flush_deferred_types): Add declaration.
        (write_lf_fieldlist): Handle LF_NESTTYPE.
        (codeview_debug_finish): Call flush_deferred_types.
        (add_struct_nested_type): New function.
        (get_type_num_struct): Call add_struct_nested_type, and if nested make
        that parent is added.
---
(This doesn't logically depend on my pending S_INLINESITE patches, but
does if you are attempting to apply this cleanly. I'm getting this out
before the code freeze.)
Thanks for pointing this out. Just a note, it's really a submission deadline.



OK for the trunk.

Thanks!

jeff

Reply via email to