1-- { dg-do run } 2-- { dg-options "-gnatp" } 3 4procedure Hyper_Flat is 5 6 type Unsigned is mod 2 ** 32; 7 x : Integer := 0; 8 pragma Volatile (X); 9 10 S : constant String := (1 .. X - 3 => 'A'); 11 -- Hyper-flat null string 12 13begin 14 if Unsigned'(S'Length) /= 0 then 15 raise Program_Error; 16 end if; 17end; 18