aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/opt68.ads
blob: 25e28a50d7b599a7cf97c7fe39c6cd35a647e2ec (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
with Ada.Finalization;

package Opt68 is

  type Cont is new Ada.Finalization.Controlled with null record;

  type Element is record
    C : Cont;
  end record;

  type Queue_Element;
  type A_Queue_Element is access Queue_Element;
  type Queue_Element is record
    Value : Element;
    Next  : A_Queue_Element;
  end record;

  type Queue is limited record
    Sz    : Natural;
    Front : A_Queue_Element;
    Back  : A_Queue_Element;
  end record;

  procedure Copy (dest : in out Queue; src : Queue);

end Opt68;