27 lines
560 B
Ada
27 lines
560 B
Ada
-- { dg-do compile }
|
|
-- { dg-options "-O" }
|
|
|
|
with System, Ada.Unchecked_Conversion;
|
|
with System.Storage_Elements; use System.Storage_Elements;
|
|
|
|
procedure Loop_Address2 is
|
|
|
|
type Ptr is access all Integer;
|
|
|
|
function To_Ptr is new Ada.Unchecked_Conversion (System.Address, Ptr);
|
|
|
|
function F (BM : System.Address; I : Integer) return System.Address is
|
|
begin
|
|
return BM + Storage_Offset (4*I);
|
|
end;
|
|
|
|
B : Integer;
|
|
P : Ptr;
|
|
|
|
begin
|
|
for I in 0 .. 2 loop
|
|
P := To_Ptr (F (B'Address, I));
|
|
P.all := 0;
|
|
end loop;
|
|
end ;
|