-- { dg-do compile }
|
-- { dg-do compile }
|
|
|
package Pack33 is
|
package Pack33 is
|
|
|
Bits : constant := 33;
|
Bits : constant := 33;
|
|
|
type Bits_33 is mod 2 ** Bits;
|
type Bits_33 is mod 2 ** Bits;
|
for Bits_33'Size use Bits;
|
for Bits_33'Size use Bits;
|
|
|
type Cluster is record
|
type Cluster is record
|
E0, E1, E2, E3, E4, E5, E6, E7 : Bits_33;
|
E0, E1, E2, E3, E4, E5, E6, E7 : Bits_33;
|
end record;
|
end record;
|
|
|
for Cluster use record
|
for Cluster use record
|
E0 at 0 range 0 * Bits .. 0 * Bits + Bits - 1;
|
E0 at 0 range 0 * Bits .. 0 * Bits + Bits - 1;
|
E1 at 0 range 1 * Bits .. 1 * Bits + Bits - 1;
|
E1 at 0 range 1 * Bits .. 1 * Bits + Bits - 1;
|
E2 at 0 range 2 * Bits .. 2 * Bits + Bits - 1;
|
E2 at 0 range 2 * Bits .. 2 * Bits + Bits - 1;
|
E3 at 0 range 3 * Bits .. 3 * Bits + Bits - 1;
|
E3 at 0 range 3 * Bits .. 3 * Bits + Bits - 1;
|
E4 at 0 range 4 * Bits .. 4 * Bits + Bits - 1;
|
E4 at 0 range 4 * Bits .. 4 * Bits + Bits - 1;
|
E5 at 0 range 5 * Bits .. 5 * Bits + Bits - 1;
|
E5 at 0 range 5 * Bits .. 5 * Bits + Bits - 1;
|
E6 at 0 range 6 * Bits .. 6 * Bits + Bits - 1;
|
E6 at 0 range 6 * Bits .. 6 * Bits + Bits - 1;
|
E7 at 0 range 7 * Bits .. 7 * Bits + Bits - 1;
|
E7 at 0 range 7 * Bits .. 7 * Bits + Bits - 1;
|
end record;
|
end record;
|
|
|
for Cluster'Size use Bits * 8;
|
for Cluster'Size use Bits * 8;
|
|
|
end Pack33;
|
end Pack33;
|
|
|