diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/loop_optimization8.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/loop_optimization8.adb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/loop_optimization8.adb b/gcc/testsuite/gnat.dg/loop_optimization8.adb new file mode 100644 index 000000000..6be28f113 --- /dev/null +++ b/gcc/testsuite/gnat.dg/loop_optimization8.adb @@ -0,0 +1,30 @@ +-- { 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; |