34 lines
654 B
Ada
34 lines
654 B
Ada
-- { dg-do compile }
|
|
-- { dg-options "-gnatdm -gnatws" }
|
|
|
|
with Discr6_Pkg;
|
|
|
|
procedure Discr6 is
|
|
|
|
type T_Bit is range 0..1;
|
|
type T_Entier_16 is range -2**15 .. 2**15-1;
|
|
|
|
package My_Q is new Discr6_Pkg(T_Entier_16);
|
|
|
|
type T_Valeur is (BIT, Entier_16);
|
|
|
|
type R(D : T_Valeur) is record
|
|
case D is
|
|
when BIT => V_BIT : T_Bit;
|
|
when Entier_16 => V_E16 : T_Entier_16;
|
|
end case;
|
|
end record;
|
|
for R use record
|
|
V_BIT at 0 range 0..7;
|
|
V_E16 at 0 range 0..15;
|
|
D at 8 range 0..7;
|
|
end record;
|
|
for R'size use 128;
|
|
|
|
A : R(Entier_16);
|
|
I : Integer;
|
|
|
|
begin
|
|
I := My_Q.X(A.V_E16);
|
|
end;
|