summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/scalar_mode_agg_compare_loop.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/scalar_mode_agg_compare_loop.adb')
-rw-r--r--gcc/testsuite/gnat.dg/scalar_mode_agg_compare_loop.adb18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/scalar_mode_agg_compare_loop.adb b/gcc/testsuite/gnat.dg/scalar_mode_agg_compare_loop.adb
new file mode 100644
index 000000000..9bafb4d29
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/scalar_mode_agg_compare_loop.adb
@@ -0,0 +1,18 @@
+
+-- { dg-do compile }
+-- { dg-options "-O2 -gnatp" }
+
+function Scalar_Mode_Agg_Compare_Loop return Boolean is
+ S : constant String (1 .. 4) := "ABCD";
+ F : constant Natural := S'First;
+ L : constant Natural := S'Last;
+begin
+ for J in F .. L - 1 loop
+ if S (F .. F) = "X" or (J <= L - 2 and S (J .. J + 1) = "YY") then
+ return True;
+ end if;
+ end loop;
+
+ return False;
+end;
+