address_conversion.adb   [plain text]


-- { dg-do run }
-- { dg-options "-O2" }

with System.Address_To_Access_Conversions;

procedure address_conversion is

   type Integer_type1 is new Integer;
   type Integer_type2 is new Integer;

   package AA is new System.Address_To_Access_Conversions (Integer_type1);

   K1 : Integer_type1;
   K2 : Integer_type2;

begin
   K1 := 1;
   K2 := 2;

   AA.To_Pointer(K2'Address).all := K1;
   if K2 /= 1 then
      raise Program_Error;
   end if;
end;