| -- { 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; |