1-- { dg-do compile }
2-- { dg-options "-O -gnatws" }
3
4procedure Opt63 is
5
6   type T_MOD is mod 2**32;
7   subtype T_INDEX is T_MOD range 3_000_000_000 .. 4_000_000_000;
8   type T_ARRAY is array(T_INDEX range <>) of INTEGER;
9
10   function Build_Crash(First : T_INDEX; Length : NATURAL) return T_ARRAY is
11      R : T_ARRAY(First .. T_Index'Val (T_Index'Pos (First) + Length))
12             := (others => -1); -- Crash here
13   begin
14      return R;
15   end;
16
17begin
18   null;
19end;
20