-- { dg-do run } | |
procedure Volatile4 is | |
type My_Int is new Integer; | |
pragma Volatile (My_Int); | |
type Rec is record | |
I : My_Int; | |
end record; | |
function F (R : Rec) return Rec is | |
begin | |
return R; | |
end; | |
R : Rec := (I => 0); | |
begin | |
R := F (R); | |
if R.I /= 0 then | |
raise Program_Error; | |
end if; | |
end; |