-- { dg-do run }
with Loop_Optimization16_Pkg; use Loop_Optimization16_Pkg;
procedure Loop_Optimization16 is
Counter : Natural := 0;
C : constant Natural := F;
subtype Index_T is Index_Base range 1 .. Index_Base (C);
begin
for I in Index_T'First .. Index_T'Last loop
Counter := Counter + 1;
exit when Counter > 200;
end loop;
if Counter > 200 then
raise Program_Error;
end if;
end Loop_Optimization16;