blob: 2c73e1dd4ea3b6cf4c01df42cbaeb9ae11bf06a0 [file] [log] [blame]
-- { dg-do run }
procedure Pack4 is
type Time_T is record
Hour : Integer;
end record;
type Date_And_Time_T is record
Date : Integer;
Time : Time_T;
end record;
pragma Pack(Date_And_Time_T);
procedure
Assign_Hour_Of (T : out Time_T)
is
begin
T.Hour := 44;
end;
procedure
Clobber_Hour_Of (DT: out Date_And_Time_T)
is
begin
Assign_Hour_Of (Dt.Time);
end;
DT : Date_And_Time_T;
begin
DT.Time.Hour := 22;
Clobber_Hour_Of (DT);
if DT.Time.Hour /= 44 then
raise Program_Error;
end if;
end;