-- { dg-do run } | |
-- { dg-options "-O -gnatn" } | |
with Loop_Optimization8_Pkg1; | |
procedure Loop_Optimization8 is | |
Data : Loop_Optimization8_Pkg1.T; | |
procedure Check_1 (N : in Natural) is | |
begin | |
if N /= 0 then | |
for I in 1 .. Data.Last loop | |
declare | |
F : constant Natural := Data.Elements (I); | |
begin | |
if F = N then | |
raise Program_Error; | |
end if; | |
end; | |
end loop; | |
end if; | |
end; | |
procedure Check is new Loop_Optimization8_Pkg1.Iter (Check_1); | |
begin | |
Data := Loop_Optimization8_Pkg1.Empty; | |
Check; | |
end; |