On Tue, 27 Mar 2012, Eric Botcazou wrote:
> > Btw, I put things in stor-layout.c exactly to allow a langhook
> > eventually controlling things for the bitfield representative.
> > Mind adding one that simply disables them completely for Ada?
> > Or maybe, for selected record types, so that we do
> > if (lang_hooks.types.lower_bitfield_layout (rli->t))
> > finish_bitfield_layout (rli->t);
> > ? Letting the FE decide when to punt is certainly better than
> > trying to figure it out from stor-layout.c code. I suppose
> > for types that are supposed to interoperate with C / C++ using
> > the C / C++ rules makes sense (I suppose there is sth like
> > C/C++ interoperability with Ada).
> Yes, there is C/C++ interoperability in Ada. But GNAT's policy is to be
> compatible with C/C++ by default, so I'd rather not deviate from the common
> code for such a central thing as record layout if we can avoid it.
I see. Though the code does not affect layout but only access "layout"
for bitfields. I'm fine with fixing the issues we run into elsewhere,
just the langhook is a possibility I had in mind from the start, in
case frontends differ in their memory model for bitfields.