summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/slice3.adb
blob: db568f99740de1a5a66dd0d2a271d7780ca0edd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- { 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;