1-- { dg-do compile }
2-- { dg-options "-O2 -g" }
3
4package body Debug13 is
5
6   procedure Compile (P : Natural)
7   is
8      Max_Pos : constant Natural := P;
9      type Position_Set is array (1 .. Max_Pos) of Boolean;
10
11      Empty  : constant Position_Set := (others => False);
12
13      type Position_Set_Array is array (1 .. Max_Pos) of Position_Set;
14
15      Follow  : Position_Set_Array := (others => Empty);
16
17      function Get_Follows return Position_Set;
18
19      procedure Make_DFA;
20
21      function Get_Follows return Position_Set is
22         Result : Position_Set := Empty;
23      begin
24         Result := Result or Follow (1);
25
26         return Result;
27      end Get_Follows;
28
29      procedure Make_DFA is
30         Next   : constant Position_Set := Get_Follows;
31      begin
32         null;
33      end Make_DFA;
34
35   begin
36      Make_DFA;
37   end Compile;
38
39end Debug13;
40