1-- { dg-do run }
2
3procedure Packed_Subtype is
4
5   subtype Ubyte is Integer range 0 .. 255;
6   type Packet (Id : Ubyte) is record
7      A, B : Ubyte;
8   end record;
9   pragma Pack (Packet);
10
11   subtype My_Packet is Packet (Id => 1);
12
13   MP : My_Packet;
14begin
15   MP.A := 1;
16   MP.B := 2;
17
18   if MP.A /= 1 or else MP.B /= 2 then
19      raise Program_Error;
20   end if;
21end;
22
23
24
25