blob: ba2b34683294c5efa17d161d9417f9902ae450f1 [file] [log] [blame]
-- { dg-do compile }
with Pack3_Pkg;
package Pack3 is
subtype N_TYPE is INTEGER range 0..5;
type LIST_ARRAY is array (N_TYPE range <>) of INTEGER;
type LIST (N : N_TYPE := 0) is record
LIST : LIST_ARRAY(1..N);
end record;
pragma PACK(LIST);
subtype CS is STRING(1..Pack3_Pkg.F);
type CSA is array (NATURAL range <>) of CS;
type REC is record
I1, I2 : INTEGER;
end record ;
type CMD is (CO, AS);
type CMD_BLOCK_TYPE (D : CMD := CO) is record
N : CSA (1..4);
case D is
when CO => L : LIST;
when AS => R : REC;
end case ;
end record;
pragma PACK(CMD_BLOCK_TYPE);
type CMD_TYPE is (RIGHT, WRONG);
type CMD_RESULT (D : CMD_TYPE) is record
case D is
when RIGHT => C : CMD_BLOCK_TYPE;
when WRONG => null;
end case;
end record ;
pragma PACK(CMD_RESULT);
end Pack3;