| -- { dg-do run } | |
| -- { dg-options "-gnatp" } | |
| procedure Hyper_Flat is | |
| type Unsigned is mod 2 ** 32; | |
| x : Integer := 0; | |
| pragma Volatile (X); | |
| S : constant String := (1 .. X - 3 => 'A'); | |
| -- Hyper-flat null string | |
| begin | |
| if Unsigned'(S'Length) /= 0 then | |
| raise Program_Error; | |
| end if; | |
| end; |