(root)/
gcc-13.2.0/
gcc/
testsuite/
gnat.dg/
sso8_pkg.ads
with Interfaces;
with System;
with Unchecked_Conversion;

package SSO8_Pkg is

  Val8 : Interfaces.Unsigned_8;

  type Two_Bit_Int is range 0 .. 3;
  for Two_Bit_Int'size use 2;

  type Arr is array (1 .. 5) of Boolean;
  for Arr'scalar_storage_order use System.High_Order_First;
  pragma Pack (Arr);

  type Rec is record
    Boolean_Data : Boolean;
    Array_Data   : Arr;
    Two_Bit_Data : Two_Bit_Int;
  end record;
  for Rec use record
    Boolean_Data at 0 range 0 .. 0;
    Array_Data   at 0 range 1 .. 5;
    Two_Bit_Data at 0 range 6 .. 7;
  end record;
  for Rec'size use 8;
  for Rec'bit_order use System.High_Order_First;
  for Rec'scalar_storage_order use System.High_Order_First;

  function Conv is new Unchecked_Conversion (Rec, Interfaces.Unsigned_8);

end SSO8_Pkg;