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