diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/discr21.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/discr21.adb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/discr21.adb b/gcc/testsuite/gnat.dg/discr21.adb new file mode 100644 index 000000000..5c105cdb2 --- /dev/null +++ b/gcc/testsuite/gnat.dg/discr21.adb @@ -0,0 +1,34 @@ +-- { dg-do compile } +-- { dg-options "-gnatws -O3" } + +with Discr21_Pkg; use Discr21_Pkg; + +package body Discr21 is + + type Index is new Natural range 0 .. 100; + + type Arr is array (Index range <> ) of Position; + + type Rec(Size : Index := 1) is record + A : Arr(1 .. Size); + end record; + + Data : Rec; + + function To_V(pos : Position) return VPosition is + begin + return To_Position(pos.x, pos.y, pos.z); + end; + + procedure Read(Data : Rec) is + pos : VPosition := To_V (Data.A(1)); + begin + null; + end; + + procedure Test is + begin + Read (Data); + end; + +end Discr21; |