-- { dg-do run } | |
-- { dg-options "-O2" } | |
with Unchecked_Conversion; | |
procedure gnat_malloc is | |
type int1 is new integer; | |
type int2 is new integer; | |
type a1 is access int1; | |
type a2 is access int2; | |
function to_a2 is new Unchecked_Conversion (a1, a2); | |
v1 : a1 := new int1; | |
v2 : a2 := to_a2 (v1); | |
begin | |
v1.all := 1; | |
v2.all := 0; | |
if v1.all /= 0 then | |
raise Program_Error; | |
end if; | |
end; |