diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/discr32_pkg.ads')
-rw-r--r-- | gcc/testsuite/gnat.dg/discr32_pkg.ads | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/discr32_pkg.ads b/gcc/testsuite/gnat.dg/discr32_pkg.ads new file mode 100644 index 00000000000..f1761e4b5e5 --- /dev/null +++ b/gcc/testsuite/gnat.dg/discr32_pkg.ads @@ -0,0 +1,24 @@ +package Discr32_Pkg is + + type Enum is (One, Two, Three); + + type R (D : Enum) is record + case D is + when One => B : Boolean; + when Two => I : Integer; + when Three => F : Float; + end case; + end record; + + for R use record + D at 0 range 0 .. 1; + B at 1 range 0 .. 0; + I at 4 range 0 .. 31 + 128; +-- F at 4 range 0 .. 31; + end record; + + subtype R1 is R (One); + subtype R2 is R (Two); + subtype R3 is R (Three); + +end Discr32_Pkg; |