1-- { dg-do run } 2-- { dg-options "-O" } 3 4with Loop_Optimization3_Pkg; use Loop_Optimization3_Pkg; 5 6procedure Loop_Optimization3 is 7 8 type Arr is array (Integer range -3 .. 3) of Integer; 9 C : constant Arr := (1, others => F(2)); 10 11begin 12 if C /= (1, 2, 2, 2, 2, 2, 2) then 13 raise Program_Error; 14 end if; 15end; 16