package OCONST3 is type bit is (zero, one); type u8 is mod 2**8; type Base is record i1 : Integer; end Record; type R is record u : u8; f : bit; b : Base; end record; for R use record u at 0 range 0 .. 7; f at 1 range 0 .. 0; b at 1 range 1 .. 32; -- unaligned SImode bitfield end record; My_R : constant R := (u=>1, f=>one, b=>(i1=>3)); procedure check (arg : R); end;