1package Discr32_Pkg is
2
3  type Enum is (One, Two, Three);
4
5  type R (D : Enum) is record
6    case D is
7      when One   => B : Boolean;
8      when Two   => I : Integer;
9      when Three => F : Float;
10    end case;
11  end record;
12
13  for R use record
14     D at 0 range 0 .. 1;
15     B at 1 range 0 .. 0;
16     I at 4 range 0 .. 31 + 128;
17--     F at 4 range 0 .. 31;
18  end record;
19
20  subtype R1 is R (One);
21  subtype R2 is R (Two);
22  subtype R3 is R (Three);
23
24end Discr32_Pkg;
25