Structs

Split128 🔒
Information about a single field of the top-level DW_TAG_union_type.

Constants

Functions

In CPP-like mode, we generate a union with a field for each variant and an explicit tag field. The field of each variant has a struct type that encodes the discrimiant of the variant and it’s data layout. The union also has a nested enumeration type that is only used for encoding variant names in an efficient way. Its enumerator values do not correspond to the enum’s discriminant values. It’s roughly equivalent to the following C/C++ code:
A generator debuginfo node looks the same as a that of an enum type.
This is a helper function shared between enums and generators that makes sure fields have the expect names.
This function builds a DW_AT_enumeration_type that contains an entry for each variant. Note that this has nothing to do with the discriminant. The numeric value of each enumerator corresponds to the variant index. The type is only used for efficiently encoding the name of each variant in debuginfo.
split_128 🔒