1-- { dg-do compile }
2-- { dg-options "-O -gnatws" }
3
4-- PR middle-end/35136
5
6pragma Extend_System(AUX_DEC);
7with System;
8
9procedure Loop_Address is
10
11   function Y(E : Integer) return String is
12   begin
13      return "";
14   end Y;
15
16   function X(C : in System.Address) return String is
17      D : Integer;
18      for D use at C;
19   begin
20      return Y(D);
21   end X;
22
23   A : System.Address;
24   B : String := "";
25
26begin
27   for I in 0..1 loop
28      B := X(System."+"(A, I));
29   end loop;
30end;
31