Daniel Berlin wrote: > > <field_decl 0xb7429398 x type <integer_type 0xb7429450> > > size <integer_cst 0xb742fd98 constant invariant 3>
> > <integer_type 0xb7429450 sizes-gimplified public QI > > size <integer_cst constant invariant 8> > > precision 3 min <integer_cst -4> max <integer_cst 3>> > > You'll note we actually created a new type for this :) Indeed, and I think we also have that in Ada, my confusion. The TYPE_SIZE is still larger than the DECL_SIZE above, and the field really doesn't occupy a slot as large as what TYPE_SIZE says. > Thinking harder about it, you might be better off then making > everything based on TYPE_SIZE then, since we don't always have the > FIELD_DECL's handy. I'm not sure we can. I think we must have an integral mode (and size) for the type to be able to place the field on a non-byte-aligned boundary.