1-- { dg-do compile }
2
3package Pack33 is
4
5   Bits : constant := 33;
6
7   type Bits_33 is mod 2 ** Bits;
8   for Bits_33'Size use Bits;
9
10   type Cluster is record
11      E0, E1, E2, E3, E4, E5, E6, E7 : Bits_33;
12   end record;
13
14   for Cluster use record
15      E0 at 0 range 0 * Bits .. 0 * Bits + Bits - 1;
16      E1 at 0 range 1 * Bits .. 1 * Bits + Bits - 1;
17      E2 at 0 range 2 * Bits .. 2 * Bits + Bits - 1;
18      E3 at 0 range 3 * Bits .. 3 * Bits + Bits - 1;
19      E4 at 0 range 4 * Bits .. 4 * Bits + Bits - 1;
20      E5 at 0 range 5 * Bits .. 5 * Bits + Bits - 1;
21      E6 at 0 range 6 * Bits .. 6 * Bits + Bits - 1;
22      E7 at 0 range 7 * Bits .. 7 * Bits + Bits - 1;
23   end record;
24
25   for Cluster'Size use Bits * 8;
26
27end Pack33;
28