On Sep 28, 2006, at 1:43 PM, Mark Mitchell wrote:
Sandra Loosemore wrote:

I've been having a heck of a time figuring out how to translate the offsets for struct fields from the DWARF encoding back to GCC's internal encoding for the LTO project.

Yes, that's a nasty bit.

I think the DECL_FIELD_OFFSET/DECL_FIELD_BIT_OFFSET stuff is, quite simply, mis-designed. The way I think it should work is for DECL_FIELD_OFFSET to be the byte offset, and DECL_FIELD_BIT_OFFSET to be the bit offset, always less than BITS_PER_UNIT.

An alternative design, which would save a field, is just to keep the offset of a field, in bits, from the start of the structure.

The only trouble you'll probably run into is with fields whose offset from the start of a structure is variable.

-Chris




Reply via email to