25 lines
517 B
Ada
25 lines
517 B
Ada
-- { dg-do run }
|
|
|
|
procedure Slice3 is
|
|
|
|
type Varray is array (1 .. 1) of Natural; -- SImode
|
|
|
|
type Sample is record
|
|
Maybe : Boolean;
|
|
Values : Varray;
|
|
end record;
|
|
pragma Pack (Sample);
|
|
|
|
function Match (X, Y: Sample; Length : Positive) return Boolean is
|
|
begin
|
|
return X.Values (1 .. Length) = Y.Values (1 .. Length);
|
|
end;
|
|
|
|
X, Y : Sample := (Maybe => True, Values => (1 => 1));
|
|
begin
|
|
X.Maybe := False;
|
|
if not Match (X, Y, 1) then
|
|
raise Program_Error;
|
|
end if;
|
|
end;
|