-- { dg-do compile }

with Unchecked_Conversion;

package Static_Initializer3 is

  type Byte is range 0 .. 16#FF#;
  for Byte'Size use 8;

  type Word is range 0 .. 16#FFFF# ;
  for Word'Size use 16;

  type R is record
    b1 : Boolean;
    b2 : Boolean;
  end record;
  for R use record
    b1 at 0 range 0..3;
    b2 at 0 range 4..7;
  end record;
  for R'Size use 8;

  function Conv is new Unchecked_Conversion (R, Byte);

  C1 : constant Byte := Conv ((true, false));

  C2 : constant Word := Word(C1);

end Static_Initializer3;