1-- { dg-do compile }
2-- { dg-options "-O -gnatp" }
3
4with Loop_Optimization5_Pkg; use Loop_Optimization5_Pkg;
5
6procedure Loop_Optimization5 is
7   Str : constant String := "12345678";
8   Cmd : constant String := Init;
9   StartP : Positive := Cmd'First;
10   StartS : Positive := Cmd'Last + 1;
11   EndP   : Natural := StartP - 1;
12   Full_Cmd : String_Access;
13begin
14   for J in StartP .. Cmd'Last - Str'Length + 1 loop
15      if Cmd (J .. J + Str'Length - 1) = Str then
16         EndP := J - 1;
17         exit;
18      end if;
19   end loop;
20   Full_Cmd := Locate (Cmd (StartP .. EndP));
21end;
22