| -- { dg-do compile } | |
| package body Discr27 is | |
| subtype Index is Positive range 1..4096; | |
| function F return String is | |
| S : String(1..1) := (others =>'w'); | |
| begin | |
| return S; | |
| end; | |
| type Enum is (One, Two); | |
| type Rec (D : Enum := One; Len : Index := 1) is record | |
| case D is | |
| when One => I : Integer; | |
| when Two => A : String(1..Len); | |
| end case; | |
| end record; | |
| procedure Nothing is | |
| M : constant String := F; | |
| C : constant Rec := (Two, M'Length, M); | |
| begin | |
| null; | |
| end; | |
| procedure Proc is begin | |
| null; | |
| end; | |
| end Discr27; |