| -- { dg-do compile } |
| -- { dg-options "-O -gnatp" } |
| |
| with Loop_Optimization5_Pkg; use Loop_Optimization5_Pkg; |
| |
| procedure Loop_Optimization5 is |
| Str : constant String := "12345678"; |
| Cmd : constant String := Init; |
| StartP : Positive := Cmd'First; |
| StartS : Positive := Cmd'Last + 1; |
| EndP : Natural := StartP - 1; |
| Full_Cmd : String_Access; |
| begin |
| for J in StartP .. Cmd'Last - Str'Length + 1 loop |
| if Cmd (J .. J + Str'Length - 1) = Str then |
| EndP := J - 1; |
| exit; |
| end if; |
| end loop; |
| Full_Cmd := Locate (Cmd (StartP .. EndP)); |
| end; |