-- { 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; |