| package Rep_Clause6 is |
| |
| type B1_Type is range 0 .. 2**1 - 1; |
| for B1_Type'Size use 1; |
| |
| type U10_Type is range 0 .. 2**10 - 1; |
| for U10_Type'Size use 10; |
| |
| type B5_Type is range 0 .. 2**5 - 1; |
| for B5_Type'Size use 5; |
| |
| type B11_Type is range 0 .. 2**11 - 1; |
| for B11_Type'Size use 11; |
| |
| type Rec1 is record |
| B1 : B1_Type; |
| U10 : U10_Type; |
| B5 : B5_Type; |
| end record; |
| |
| for Rec1 use record |
| B1 at 0 range 0 .. 0; |
| U10 at 0 range 1 .. 10; |
| B5 at 0 range 11 .. 15; |
| end record; |
| for Rec1'Size use 16; |
| |
| type Arr is array (1 .. 5) of Rec1; |
| for Arr'Size use 80; |
| |
| subtype Header_Type is String (1 .. 16); |
| |
| type Rec2 is record |
| Header : Header_Type; |
| Spare_5 : B5_Type; |
| Deleted_Reports : Arr; |
| Block_End : B11_Type; |
| end record; |
| |
| for Rec2 use record |
| Header at 0 range 0 .. 127; |
| Spare_5 at 16 range 0 .. 4; |
| Deleted_Reports at 16 range 5 .. 84; |
| Block_End at 24 range 21 .. 31; |
| end record; |
| for Rec2'Size use 224; |
| |
| type Enum is (A_Msg, B_Msg, C_Msg, D_Msg); |
| |
| type Rec3 (Msg_Type : Enum := Enum'First) is record |
| case Msg_Type is |
| when A_Msg => A_M : Arr; |
| when B_Msg => B_M : Arr; |
| when C_Msg => C_M : Rec2; |
| when others => null; |
| end case; |
| end record; |
| |
| procedure Dummy; |
| |
| end Rep_Clause6; |