| -- { dg-do run } | |
| -- { dg-options "-gnatws" } | |
| procedure Discr44 is | |
| function Ident (I : Integer) return Integer is | |
| begin | |
| return I; | |
| end; | |
| type Int is range 1 .. 10; | |
| type Str is array (Int range <>) of Character; | |
| type Parent (D1, D2 : Int; B : Boolean) is record | |
| S : Str (D1 .. D2); | |
| end record; | |
| type Derived (D : Int) is new Parent (D1 => D, D2 => D, B => False); | |
| X1 : Derived (D => Int (Ident (7))); | |
| begin | |
| if X1.D /= 7 then | |
| raise Program_Error; | |
| end if; | |
| end; |