aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gnat.dg/opt27.adb
blob: be1980076a4fb78c1bb63c8875fc9f165f90ed30 (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
25
26
27
28
29
-- { dg-do run }
-- { dg-options "-O" }

with Opt27_Pkg;

procedure Opt27 is

    type Rec_T is record
        A, B, C, D, E : Integer;
    end record;

    package List is new Opt27_Pkg (Rec_T);

    My_List : List.List_T;

    function Is_Match (Element : Rec_T; Template : Integer) return Boolean is
    begin
        return (Element.C = Template);
    end;

    function Find_Int is new List.Find_Elem (Integer, Is_Match);

    Node : List.Node_T := Find_Int (10, My_List);

begin
    if not List.Is_Null (Node) then
        raise Program_Error;
    end if;
end;