summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/loop_address.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/loop_address.adb')
-rw-r--r--gcc/testsuite/gnat.dg/loop_address.adb30
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/loop_address.adb b/gcc/testsuite/gnat.dg/loop_address.adb
new file mode 100644
index 000000000..e8e93d440
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/loop_address.adb
@@ -0,0 +1,30 @@
+-- { dg-do compile }
+-- { dg-options "-O -gnatws" }
+
+-- PR middle-end/35136
+
+pragma Extend_System(AUX_DEC);
+with System;
+
+procedure Loop_Address is
+
+ function Y(E : Integer) return String is
+ begin
+ return "";
+ end Y;
+
+ function X(C : in System.Address) return String is
+ D : Integer;
+ for D use at C;
+ begin
+ return Y(D);
+ end X;
+
+ A : System.Address;
+ B : String := "";
+
+begin
+ for I in 0..1 loop
+ B := X(System."+"(A, I));
+ end loop;
+end;