The Ada front-end expects the back-end to handle bitfields of arbitrary type. In the following example, a bitfield of struct type: package Bit_Struct is type R is record A : Integer; B : String (1 .. 3); end record; type S is record An_R : R; end record; for S use record An_R at 0 range 4 .. 60; end record; An_S : constant S := (An_R => (A => 0, B => "Yo!")); end;
Is this still a problem in dragonegg? Is this (and other stuff in tools/gnat) worth tracking?
Moved to dragonegg.