diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/specs/pack33.ads')
-rw-r--r-- | gcc/testsuite/gnat.dg/specs/pack33.ads | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/specs/pack33.ads b/gcc/testsuite/gnat.dg/specs/pack33.ads new file mode 100644 index 000000000..d5255aa44 --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/pack33.ads @@ -0,0 +1,27 @@ +-- { 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; |