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